Verisoul provides a React Native SDK that allows you to implement fraud prevention in your cross-platform mobile applications. This guide covers the installation, configuration, and usage of the Verisoul React Native SDK.
Installation
Using NPM
npm install @verisoul_ai/react-native-verisoul
Using Yarn
yarn add @verisoul_ai/react-native-verisoul
EXPO
The Verisoul SDK is not supported in Expo Go, so if you are using the managed workflow, you will need to use Expo’s custom development client. If you already have it set up, you can skip to step 3.
- Open the command line and navigate to your Expo project directory. Then, run the following command to install expo-dev-client.
npx expo install expo-dev-client
- Modify the scripts section in your package.json file to use expo-dev-client, it should look like this.
"scripts": {
"start": "expo start --dev-client",
"android": "expo run:android",
"ios": "expo run:ios",
...
}
- Then install Verisoul SDK using npm or yarn
npm install @verisoul_ai/react-native-verisoul
yarn add @verisoul_ai/react-native-verisoul
- If an exception occurs during the build stating that the
ai.verisoul:android
package cannot be downloaded, add the following Maven repository inside your android/build.gradle
file:
allprojects {
repositories {
// ...
maven { url = uri("https://us-central1-maven.pkg.dev/verisoul/android") }
}
}
Usage
1. Initialization
import Verisoul, {
MotionAction,
VerisoulEnvironment,
} from '@verisoul_ai/react-native-verisoul';
useEffect(() => {
Verisoul.configure({
environment: VerisoulEnvironment.dev,
projectId: 'PROJECT ID',
});
}, []);
When this is called Verisoul library will be initialized, initial data together with session ID will be gathered and uploaded to Verisoul backend.
2. Get Session ID
Once the minimum amount of data is gathered the session ID becomes available. The session ID is needed in order to request a risk assessment from Verisoul’s API. Note that session IDs are short lived and will expire after 24 hours. The application can obtain session ID by providing the callback as shown below:
const sessionData = await Verisoul.getSessionID();
3. Provide Touch Events
Wrap your App With VerisoulTouchRootView
<VerisoulTouchRootView>
// another Views
</VerisoulTouchRootView>
iOS
Capabilities
To fully utilize VerisoulSDK, you must add the App Attest
capability to your project. This capability allows the SDK to perform necessary checks and validations to ensure the integrity and security of your application.
Update your app’s entitlements file:
<key>com.apple.developer.devicecheck.appattest-environment</key>
<string>production/development (depending on your needs)</string>
Device Check Setup
For iOS apps, you’ll need to set up Device Check and App Attest in the Verisoul dashboard. This requires configuring your Apple Team ID, Bundle Identifier, and Device Check Private Key. See the iOS Device Check and App Attest Integration section for detailed setup instructions.
Update the privacy manifest file
<plist version="1.0">
<dict>
<!-- Privacy manifest file for Verisoul Fraud Prevention SDK for iOS -->
<key>NSPrivacyTracking</key>
<false/>
<!-- Privacy manifest file for Verisoul Fraud Prevention SDK for iOS -->
<key>NSPrivacyTrackingDomains</key>
<array/>
<!-- Privacy manifest file for Verisoul Fraud Prevention SDK for iOS -->
<key>NSPrivacyCollectedDataTypes</key>
<array>
<dict>
<!-- The value provided by Apple for 'Device ID' data type -->
<key>NSPrivacyCollectedDataType</key>
<string>NSPrivacyCollectedDataTypeDeviceID</string>
<!-- Verisoul Fraud Prevention SDK does not link the 'Device ID' with user's identity -->
<key>NSPrivacyCollectedDataTypeLinked</key>
<false/>
<!-- Verisoul Fraud Prevention SDK does not use 'Device ID' for tracking -->
<key>NSPrivacyCollectedDataTypeTracking</key>
<false/>
<!-- Verisoul Fraud Prevention SDK uses 'Device ID' for App Functionality
(prevent fraud and implement security measures) -->
<key>NSPrivacyCollectedDataTypePurposes</key>
<array>
<string>NSPrivacyCollectedDataTypePurposeAppFunctionality</string>
</array>
</dict>
</array>
<!-- Privacy manifest file for Verisoul Fraud Prevention SDK for iOS -->
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<!-- The value provided by Apple for 'System boot time APIs' -->
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategorySystemBootTime</string>
<!-- Verisoul Fraud Prevention SDK uses 'System boot time APIs' to measure the amount of
time that has elapsed between events that occurred within the SDK -->
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>35F9.1</string>
</array>
</dict>
</array>
</dict>
</plist>
Next Steps
Responses are generated using AI and may contain mistakes.