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:
🛠️ Development Environment
- Android Studio: Latest version installed
- React Native Version: Compatible with SDK version
v25.02.07.03
??? - Node Module:
react-native-rdna-client
provided by Uniken
📱 Android Requirements
- Minimum SDK Version:
23
or higher - Target SDK Version:
35
- AGP (Android Gradle Plugin) Version:
- Current:
7.4
- Supported Range:
7.3.0
to7.4.2
- Current:
🍏 iOS Requirements
- Xcode Version:
14.3
or higher - Deployment Target:
iOS 12.0
or above - Architectures Supported:
arm64
andx86_64
only
(Bitcode is not supported)
🔐 SDK Artifacts & Info Required (From REL-ID Admin)
-
Agent_info.txt
: Contains the application ID (binary format)
🔸 Must be bundled in the app and passed to the SDK during initialization. -
Gateway Information:
- Hostname/IP
- Port where REL-ID Gateway is running
-
REL-ID SDK Node Module files from Uniken
💡 Notes
- For installation and configuration details, refer to the Installation Guide
- Network proxy setup might be required depending on your studio environment.
⚙️ REL-ID SDK Installation in 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. It includes:
Android/
– Android.aar
and source filesiOS/
– iOS source filessrc/
– Containsindex.tsx
,rdnastruct.tsx
with APIs, enums, and structures
📥 2. Install the 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.gradle
Under 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.plist
Ensure 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 2 months ago