Skip to content

williamtran29/react-native-fingerprint-identify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-native-fingerprint-identify

Fingerprint android auth for react-native (Android only).

This is an expandable Android fingerprint API compatible lib, which also combines Samsung and MeiZu's official Fingerprint API.

Samsung and MeiZu's fingerprint SDK supports most devices which system versions less than Android 6.0.

Api priority level:Android > Samsung > MeiZu, Xiaomi,...

Demo

Getting started

$ npm install react-native-fingerprint-identify --save

Most automatic installation

$ react-native link react-native-fingerprint-identify

Make sure the following lines in android/app/build.gradle:
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
...
    defaultConfig {
      targetSdkVersion 25

Manual Installation

Open up android/app/src/main/java/[...]/MainApplication.java
  • Add import com.fingerprint.identify.RNFingerprintIdentifyPackage;

    to the imports at the top of the file

  • Add new RNFingerprintIdentifyPackage()

    to the list returned by the getPackages() method

Append the following lines to android/settings.gradle:
  	include ':react-native-fingerprint-identify'
  	project(':react-native-fingerprint-identify').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-fingerprint-identify/android')
Make sure the following lines in android/app/build.gradle:
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
...
    defaultConfig {
      targetSdkVersion 25

Insert the following lines inside the dependencies block in android/app/build.gradle

in dependencies block

  compile project(':react-native-fingerprint-identify')

Example

Please clone repo and look on the example project to get more details

import FingerprintIdentify from 'react-native-fingerprint-identify';
import { Platform } from 'react-native'

// Make sure you run in Android Platform condition
scanFingerprint = async () => {
  if (Platform.OS === 'android') {
    try {
      const initFingerPrintIdentify = await FingerprintIdentify.initFingerPrintIdentify()
      const isSensorAvailable = await FingerprintIdentify.isSensorAvailable()
      if (initFingerPrintIdentify && isSensorAvailable) {
        await FingerprintIdentify.startIdentify((status) => {
          console.log(status)
        })
      }
    } catch (error) {
      console.log(error)
      return
    }
  }
}

Usage

Easy custom error message with error codes.