Skip to content

bitwala/react-native-idnow

Repository files navigation

react-native-idnow

npm version npm total downloads npm monthly downloads

React Native IDnow binding for iOS/Android platforms.

Installation

Using npm:

npm install --save react-native-idnow

or using yarn:

yarn add react-native-idnow

Linking

Automatic

⚠️ Only follow this step if you are using react-native <= 0.59 as react-native >= 0.60 is using auto-linking.

react-native link react-native-idnow

Manual

iOS
  • See "Additional required steps"
  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-idnow and add RNIdnow.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNIdnow.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)
Android
  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.bitwala.idnow.RNIdnowPackage; to the imports at the top of the file
  • Add new RNIdnowPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-idnow'
    project(':react-native-idnow').projectDir = new File(rootProject.projectDir, 	'../node_modules/react-native-idnow/android')
    
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
      compile project(':react-native-idnow')
    
    also in dependencies
      implementation 'de.idnow.android.sdk:idnow-platform:4.12.0'    
    
  3. Add the following to repositories in android/build.gradle:
       maven {
          url "https://raw.githubusercontent.com/idnow/de.idnow.android.sdk/master"            
       }
       maven {
          url "https://raw.githubusercontent.com/idnow/de.idnow.android/de.idnow.android-5.0.12.1"
       }
    

Additional required steps:

Android

  • Update android/app/src/AndroidManifest.xml: add xmlns:tools="http://schemas.android.com/tools" to the manifest tag add tools:replace="android:icon,android:theme,android:allowBackup" to the application tag

  • See IDnow AndroidManifest section

  • (not required) To change colors, update colors.xml (see /demo/ReactNativeIDnowSample/android/app/src/main/res/values/colors.xml)

iOS

  • Add the following pod dependencies to your podfile:
use_frameworks! :linkage => :static
pod 'IDnowSDK', '5.0.12'
  • Then, run the following command:
pod install --repo-update

or

pod install
  • Add following to Info.plist:
	<key>NSCameraUsageDescription</key>
	<string>Need camera access for video streaming and identification</string>
	<key>NSMicrophoneUsageDescription</key>
	<string>Need microphone access for video identification</string>
  • Add RNIdnow.h and RNIdnow.m files to the ios project(see demo app)

Usage

import { IDnowManager } from 'react-native-idnow';

try {
	await IDnowManager.startVideoIdent({
		transactionToken: 'TST-XXXXX',
	});
} catch (e) {
	...
}