React Native SDK

Credolab React Native SDK is a set of libraries designed to capture a client’s digital footprint from mobile devices for future processing of scorecards and fragments.

Pick The Right Modules

The Credolab React Native SDK is modular by design. At its foundation is a single mandatory Core module, which operates without accessing any runtime permissions. All additional features are provided through optional modules and plugins, each requesting only the specific permissions they require. This approach allows you to begin integration with just the modules that align with your app's existing permission set, keeping the implementation flexible, secure, and fully permission-scoped.

React Native SDK Module Scheme


👍

What is a ?

Provide access to features that don’t affect user privacy or security. For example, using the internet or checking Wi-Fi state.

These are granted automatically when the app is installed. No user confirmation is needed.

Read more on developer.android.com

📘

What is a ?

Allows access to protected resources or actions, such as contacts, calendar, or media. These permissions must be explicitly granted by the user at runtime.

Read more on developer.android.com and developer.apple.com

Versions

Use the React Native SDK 6.0.0 and higher versions below for new integrations and for projects that can use the static iOS framework.

If your project still requires the iOS dynamic framework, use the compatibility matrix in the collapsed section after the main version tables. This allows you to integrate the available optional modules while keeping dynamic framework support during migration.

Mandatory module version

Core Module

Artifact IDVersion
@credolab/react-core normal permissions6.0.0

Android optional module versions

Artifact IDVersion
@credolab/react-android-account runtime permissions6.0.0
@credolab/react-android-calendar runtime permissions6.0.0
@credolab/react-android-contact runtime permissions6.0.0
@credolab/react-android-iovation normal permissions6.0.0
@credolab/react-android-audio runtime permissions6.0.0
@credolab/react-android-images runtime permissions6.0.0
@credolab/react-android-video runtime permissions6.0.0
@credolab/react-android-sms runtime permissions6.0.0
@credolab/react-android-telephony runtime permissions6.0.0
@credolab/react-android-guardno permissions6.0.0

iOS optional module versions

Artifact IDVersion
@credolab/react-ios-calendar-events runtime permissions6.0.0
@credolab/react-ios-calendar-reminders runtime permissions6.0.1
@credolab/react-ios-contact runtime permissions6.0.0
@credolab/react-ios-iovation no permissions required6.0.0
@credolab/react-ios-media runtime permissions6.0.0
@credolab/react-ios-music runtime permissions6.0.0
@credolab/react-ios-application no permissions required6.0.0
@credolab/react-ios-telephony no permissions required6.0.0

Behavioral optional module

Artifact IDVersion
@credolab/react-behavioral normal permissions6.0.0
@credolab/react-android-behavioral-phone runtime permissions6.0.0
@credolab/react-android-behavioral-guard no permissions required6.0.0
Compatibility Versions for iOS Dynamic Framework

Use these versions only for projects that still depend on the iOS dynamic framework. For new integrations, use the 6.0.0 and higher versions above with the static iOS framework.

Mandatory module version

Core Module

Artifact IDVersion
@credolab/react-core normal permissions5.15.0

Expo Core Module - for Expo managed project

Artifact IDVersion
@credolab/expo-react-core normal permissions5.12.0

Android optional module versions

Artifact IDVersion
@credolab/react-android-account runtime permissions5.2.0
@credolab/react-android-calendar runtime permissions5.2.0
@credolab/react-android-contact runtime permissions5.4.0
@credolab/react-android-iovation normal permissions5.4.0
@credolab/react-android-audio runtime permissions5.2.0
@credolab/react-android-images runtime permissions5.3.0
@credolab/react-android-video runtime permissions5.4.0
@credolab/react-android-sms runtime permissions5.2.0
@credolab/react-android-telephony runtime permissions5.1.0
@credolab/react-android-guardno permissions5.1.0

iOS optional module versions

Artifact IDVersion
@credolab/react-ios-calendar-events runtime permissions5.4.0
@credolab/react-ios-calendar-reminders runtime permissions5.4.1
@credolab/react-ios-contact runtime permissions5.6.0
@credolab/react-ios-iovation no permissions required5.5.0
@credolab/react-ios-media runtime permissions5.3.0
@credolab/react-ios-music runtime permissions5.4.0
@credolab/react-ios-application no permissions required5.4.0
@credolab/react-ios-telephony no permissions required5.1.0

Behavioral optional module

Artifact IDVersion
@credolab/react-behavioral normal permissions5.8.0
@credolab/react-android-behavioral-phone runtime permissions5.1.0
@credolab/react-android-behavioral-guard no permissions required5.1.0

SDK Description

Our developed modules are categorized based on runtime permissions. To determine which permissions are associated with each module, please refer to the Android or iOS SDK documentation.

Mandatory Core Module

Built on top of native Core Android and iOS modules

Optional Behavioral Module

Built on top of native Behavioral modules for Android and iOS modules

Optional Android Modules

Built on top of native optional modules for Android:

  1. AndroidAccountModule
  2. AndroidCalendarModule
  3. AndroidContactModule
  4. AndroidIovationModule
  5. AndroidAudioModule
  6. AndroidImagesModule
  7. AndroidVideoModule
  8. AndroidSmsModule
  9. AndroidTelephonyModule
  10. AndroidGuardBehavioralPlugin
  11. AndroidPhoneBehavioralPlugin
Optional iOS Modules

Built on top of native optional modules for iOS:

  1. IosCalendarEventsModule
  2. IosCalendarRemindersModule
  3. IosContactModule
  4. IosIovationModule
  5. IosMediaModule
  6. IosMusicModule
  7. IosApplicationModule

CredoAppLogging is not available for React Native.

Mobile Data Flow

  1. Mobile Client triggers the Core Module to start data collection
  2. The Core Module collects data from attached modules and returns an encrypted dataset
  3. Mobile Client sends the dataset to Credolab via a Reverse Proxy with a unique reference number
  4. Client's Server requests scores and insights from Credolab using that reference number