React Native
⚙️ Prerequisites for Integration – React Native
Before integrating the REL-ID API SDK into your React Native app, ensure the following prerequisites are met:
🧱 Project Environment
| Component | Requirement |
|---|---|
| React Native Version | Compatible with node-module. |
| Android Studio | Latest version |
| Xcode | Version 14.3 or higher |
📱 Android Requirements
- Minimum SDK Version:
23or higher - Target SDK Version:
35 - AGP (Android Gradle Plugin) Version:
- Current:
7.4 - Supported Range:
7.3.0to7.4.2
If you're working behind a proxy:🔌 Proxy Configuration (if needed)- Set proxy in Android Studio via:
File > Settings > System Settings > HTTP Proxy - If proxy settings aren't working, manually set them in:
~/.gradle/gradle.properties - Also configure proxy settings for:
npmgit
- Current:
🍏 iOS Requirements
- Xcode Version:
14.3or higher - Deployment Target:
iOS 12.0or above - Architectures Supported:
arm64andx86_64only
(Bitcode is not supported)
🔐 SDK Artifacts & Info Required (From REL-ID Admin)
| Item | Description |
|---|---|
Agent_info.txt | Binary file containing the application ID for REL-ID initialization |
| REL-ID Gateway Info | Hostname/IP and Port number where REL-ID Gateway is running |
| RDNA_Client node module Plugin Folder | Provided by Uniken Team, includes platform-specific plugin files and libraries |
💡 Notes
- Refer to the Installation Guide below for detailed installation and configuration steps.
- Network proxy setup might be required depending on your studio environment.
⚙️ REL-ID SDK Installation Guide for React Native
This guide provides official steps to integrate the REL-ID API SDK Node Module into a React Native project.
📁 1. Node Module Structure
Extract the react-native-rdna-client.zip provided by Uniken team. It includes:
Android/– Android.aarand source filesiOS/– iOS source filessrc/– Containsindex.tsx,rdnastruct.tsxwith APIs, enums, and structures
📥 2. Install the REL-ID Node Module
Place the extracted folder in your project root, then run:
npm i ./react-native-rdna-client
If you're using React Native ≤ v0.69.x, updatemetro.config.js:
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
inlineRequires: true,
},
}),
},
};🤖 3. Android Configuration
🔧 Add .aar Support in android/build.gradle
.aar Support in android/build.gradleUnder allprojects → repositories:
allprojects {
repositories {
google()
maven { url("$rootDir/../node_modules/react-native/android") }
flatDir {
dirs "$rootDir/../node_modules/react-native-rdna-client/android/libs"
}
}
}📦 Add packagingOptions for .so Conflicts
packagingOptions for .so ConflictsIn android/app/build.gradle:
android {
...
packagingOptions {
pickFirst '**/armeabi/libc++_shared.so'
pickFirst '**/armeabi-v7a/libc++_shared.so'
pickFirst '**/x86/libc++_shared.so'
pickFirst '**/arm64-v8a/libc++_shared.so'
pickFirst '**/x86_64/libc++_shared.so'
}
}Add Permissions
The REL-ID API SDK and Mobile Threat Detection (MTD) modules require a predefined set of Android permissions to operate securely and effectively.
🍏 4. iOS Configuration
📦 Run CocoaPods
cd ios
pod install
cd ..🛠 Update Info.plist
Info.plistEnsure the following is included:
<key>Bundle name</key>
<string>$(PRODUCT_NAME)</string>
<key>Bundle display name</key>
<string>$(PRODUCT_NAME)</string>Also, ensure your target's Build Settings includes the correct product name.
📋 Info.plist Permissions
To enable the full functionality of the REL-ID SDK—including identity verification, biometric authentication, geolocation-based risk analysis, and local network verification—your iOS app must declare specific permissions in the Info.plist file.
✅ You’re now ready to initialize and integrate the REL-ID SDK in your React Native application!
Updated 6 days ago
