@idnow/react-autoident v5.13.0
AutoIdent SDK - ReactNative module
Getting started
Install from NPM
// with npm
npm install @idnow/react-autoident
// with yarn
yarn add @idnow/react-autoidentUsage
You will have access to the following methods to communicate with the sdk.
/**
* Starts the native IDnow AI SDK for an identification session
*
* @param token - A string paramter representing the IdentificationToken
*/
export function startIdent(token: string): string {
return RNIdNowLibraryModule.startIdent(token);
}Android
The react-autoident library android module targets the latest Android 15 OS. In order to be compliant with the Google's requirements, please make sure that your android module from your host app targets the latest Android API level 35.
In order to ensure full compatibility with our library, you need to add in your android/gradle.properties file the next lines:
android.minSdkVersion=24
android.compileSdkVersion=35
android.targetSdkVersion=35
expo.useLegacyPackaging=falseTested with the following Gradle Versions:
classpath('com.android.tools.build:gradle:8.5.2') in project\'s build.gradle
distributionUrl=https://services.gradle.org/distributions/gradle-8.7-bin.zip in gradle/wrapper/gradle-wrapper.propertiesNote: Since IDnow Android SDK targets Android 15 (API Level 35), when building your application, you might get a build error from expo-modules-core dependency:
node_modules/expo-modules-core/android/src/main/java/expo/modules/adapters/react/permissions/PermissionsService.kt:166:36 Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type Array<(out) String!>?In order to fix this, from your local node-modules dependencies open the PermissionsService.kt class and update the line 166 to the following:
return requestedPermissions?.contains(permission) == trueiOS
The react-autoident library ios module requires to run the following commands
npx pod-installAfter running the command, open the your ios app folder on XCode workspace and run the following steps :
- Manually add the frameworks: Pods -> RNIdnowLibrary -> Framework and Libraries
Click on the + -> Add Other -> Add Files and add all the frameworks from the following location:
YOUR_APP_FOLDER/node_modules/@idnow/react-autoident/ios/Frameworks
- Open YOUR_APP_TARGET -> General -> Frameworks, Libraries and Embedded Content
Click on the + -> Add Other -> Add Files and add all the frameworks from the following location:
YOUR_APP_FOLDER/node_modules/@idnow/react-autoident/ios/Frameworks
Go to section: Pods -> RNIdnowLibrary -> Framework and Libraries and make all frameworks Do Not Embed but be sure Link Binary with Libraries's status Required Your Project -> Targets -> General -> Frameworks , Libraries, and Embedded Content; make sure all frameworks Embed & Sign
Add public headers to your app: YOUR_APP_TARGET -> Build Settings -> Build Settings -> Search Paths -> Header Search Paths For Debug and/or Release click add the following headers manually
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoidentios/Frameworks/FaceTecSDK.xcframework/ios-arm64/FaceTecSDK.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/IDNowSDKCore.xcframework/ios-arm64/IDNowSDKCore.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/ReadID_UI.xcframework/ios-arm64/ReadID_UI.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/ReadID.xcframework/ios-arm64/ReadID.framework/HeadersWhere FULL_PATH_TO_YOUR_APP will looks like this: /Users/USER_NAME/Work/react-native/testApp/
Note: if you're building your app to run it on a simulator, please use the following paths for headers: Also please note that, you can only test auto ident with real device due to camera function
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/FaceTecSDK.xcframework/ios-arm64_x86_64-simulator/FaceTecSDK.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/IDNowSDKCore.xcframework/ios-arm64_x86_64-simulator/IDNowSDKCore.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/ReadID_UI.xcframework/ios-arm64_x86_64-simulator/ReadID_UI.framework/Headers
FULL_PATH_TO_YOUR_APP/node_modules/@idnow/react-autoident/ios/Frameworks/ReadID.xcframework/ios-arm64_x86_64-simulator/ReadID.framework/Headers- Add subdependency of the version 1.0.7 to the your project from package depedencies section https://github.com/FinTecSystems/xs2a-ios-netservice
If any other issue occurs during building, please make sure to clean all caches: Pods, Build, xcworkspace, etc.
Launching an identification
import * as idnow from '@idnow/react-autoident';
function launchAutoIdent(token: string) {
idnow.startIdent(token);
}