BlinkID SDK wrapper for React Native
This repository contains example wrapper for BlinkID native SDK for Android and iOS. For 100% of features and maximum control, consider using native SDK.
Licensing
React Native Version
BlinkID React Native was built and tested with React Native v0.61.5
Installation
First generate an empty project if needed:
react-native init --version="0.61.5" NameOfYourProject
Add the blinkid-react-native module to your project:
cd <path_to_your_project>
npm i --save blinkid-react-native
Linking
iOS
Link module with your project:
react-native link blinkid-react-native
CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like BlinkID in your projects.
- If you wish to use version v1.4.0 or above, you need to install Git Large File Storage by running these comamnds:
brew install git-lfs
git lfs install
- Be sure to restart your console after installing Git LFS
Installing pods
From react-native 0.60 CocoaPods are now part of React Native's iOS project.
Go to NameOfYourProject/ios
folder and install Pods
pod install
Our blinkid-react-native
depends on latest PPBlinkID
pod so it will be installed automatically.
To run iOS application, open NameOfYourProject.xcworkspace, set Your team for every Target in General settings and add Privacy - Camera Usage Description key to Your info.plist file and press run
Android
Add microblink maven repository to project level build.gradle:
allprojects {
repositories {
// don't forget to add maven and jcenter
mavenLocal()
jcenter()
// ... other repositories your project needs
maven { url "http://maven.microblink.com" }
}
}
Demo
This repository contains initReactNativeDemoApp.sh script that will create React Native project and download all of its dependencies. You can run this script with following command:
./initReactNativeDemoApp.sh
Video tutorial
Step by step guide how to start blinkid-reactnative demo app. A tutorial flows from cloning repository via git clone to successfully deployed demo application on Android and iOS device with real-time screen mirroring. Application demo contains the simple use of USDL recognizer with Ontario drivers license card.
Watch on Vimeo
Using documentVerificationOverlay and CombinedRecognizer
This video tutorial describes how to use documentVerificationOverlay with UsdlCombinedRecognizer.
DocumentVerificationOverlay is overlay for RecognizerRunnerFragment best suited for combined recognizers because it manages scanning of multiple document sides in the single camera opening and guides the user through the scanning process. It can also be used for single side scanning of ID cards, passports, driver’s licenses, etc
Watch on Vimeo
Usage
To use the module you call it in your index.android.js or index.ios.js file like in the example app. Available recognizers and API documentation is available in JS API files.
FAQ
Can I create a custom UI overlay?
Yes you can, but you will have to implement it natively for android and ios, you can see native implementation guides here(Android) and here(ios).
Known react-native problems:
Android build exception - missing ReactSwipeRefreshLayout
java.lang.NoClassDefFoundError: com.facebook.react.views.swiperefresh.ReactSwipeRefreshLayout
Add the following line to dependencies section in android/app/build.gradle:
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'