Skip to content

ID scanning for cross-platform apps built with Capacitor.

Notifications You must be signed in to change notification settings

BlinkID/blinkid-capacitor

Repository files navigation

BlinkID SDK Capacitor plugin

AI-driven ID scanning software for cross-platform apps built with Capacitor. Keep in mind that for full access to all features and functionalities, you’ll be better off using one of our native SDKs (iOS and Android). Not all features of native SDKs are available. However, the wrapper is open source so you can add the features that you need.

Depending on your use case you can choose the recognizer that fits your needs:

  • BlinkIDSingleSide recognizer
    • Scans and extracts data from the front side of the document as well as any machine readable travel document (MRTD). View list of supported documents here
  • BlinkIDMultiSide recognizer
    • For scanning both sides of the supported document as well as any machine readable travel document. Passports and travel visas included. Here’s a list of documents that you can scan with BlinkID. For more details about the extracted fields click here.
  • BlinkID IDBarcode recognizer
    • Extract data from various barcodes found on identity documents. You can find a list of supported documents here

Below, you'll find everything you need to add BlinkID in your Capacitor iOS or Android app ⬇️

Minimum software requirements

Package depends on BlinkID SDK and it is required to download and install BlinkID iOS SDK and BlinkID Android SDK. For more information on how to do that, please check our Platform specifics section.

Capacitor

BlinkID plugin is developed with Capacitor version 6.1.1. For help with Capacitor, view official documentation.

iOS

BlinkID Capacitor plugin supports iOS 13.0 or newer.

Android

BlinkID Capacitor plugin support Android Android 5.1 (API level 22) or newer.

Getting Started

To get started, first create empty project if needed:

ionic start project_name --capacitor

Install blinkid-capacitor package:

npm install --save @microblink/blinkid-capacitor

Quick start with sample app

Sample app is built with latest Ionic framework and it uses Angular. To try BlinkID plugin, you can generate a minimal sample application. To do so run ./initIonicSampleApp.sh script.

To run sample application:

  • iOS

    • Open the app in Xcode by running npx cap open ios from the sample app's root directory
    • Open info.plist and add corresponding permissions to the app
      • Privacy - Camera Usage Description: To Take Photos and Video
    • Open Signing & Capabilities and set your Team
    • Press Run
  • Android

    • Run the app by executing npx cap run android from the sample app's root directory

Plugin usage

  1. Import blinkid-capacitor package

    import * as BlinkID from '@microblink/blinkid-capacitor';
  2. Initialize plugin

    const plugin = new BlinkID.BlinkIDPlugin();
  3. Perform scanning by calling the method plugin.scanWithCamera() and pass RecognizerCollection, OverlaySettings you wish to use and license keys. To find out more about licensing, click here.

    async scan() {
        	
    	// Initialize plugin
       const plugin = new BlinkID.BlinkIDPlugin();
       
       // Initialize wanted recognizer
       const blinkIdMultisideRecognizer = new BlinkID.BlinkIdMultiSideRecognizer();
       blinkIdMultisideRecognizer.returnFullDocumentImage = true;
       blinkIdMultisideRecognizer.returnFaceImage = true;
    
       // Initialize license 
       const licenseKeys: BlinkID.License = {
     		ios: '<your_ios_license>',
     		android: '<your_android_license>',
     		showTimeLimitedLicenseKeyWarning: true
       };
       
       // Perform scan and gather results
       const scanningResults = await plugin.scanWithCamera(
       	new BlinkID.BlinkIdOverlaySettings(),
       	new BlinkID.RecognizerCollection([blinkIdMultisideRecognizer]),
       	licenseKeys
       );
    }
  4. When scanning is completed, variable scanningResults will contain a list of non-empty RecognizerResults from recognizers set in RecognizerCollection. You can then access each result individually. If the scanning is manually closed, the method will return an empty list.

For more information please refer to our sample files in SampleFiles folder and sample application source code.

Available API

All available recognizers can be found inside BlinkID/src/recognizers.

All available overlays can be found inside BlinkID/src/overlays.

Platform specifics

Plugin implementation is in folder src, while platform specific implementations are in android and ios folders.

iOS

To initialize BlinkID framework for use with iOS, after you've added the dependency to @microblink/blinkid-capacitor to your project, go to NameOfYourProject/iosand run pod install. Our @microblink/blinkid-capacitor depends on the latest PPBlinkID pod so it will be installed automatically.

Android

BlinkID plugin on Android is ready to use after you've added the dependency.

Licensing

  • A valid license key is required to initialize scanning. You can request a free trial license key, after you register, at Microblink Developer Hub
  • Get information about pricing and licensing of BlinkID