npm react-native MIT bitHound Score Downloads
人脸识别/活体检测-linkface for React Native.
LinkFace Doc: http://devdoc.cloud.linkface.cn/
First, cd to your RN project directory, and install RNMK through rnpm . If you don't have rnpm, you can install RNMK from npm with the command npm i -S rnkit-linkface and link it manually (see below).
-
rnpm install rnkit-linkface -
$npm install -S rnkit-linkface$react-native link rnkit-linkface
- Add
node_modules/rnkit-linkface/ios/RNKitLinkFace.xcodeprojto your xcode project, usually under theLibrariesgroup - Add
libRNKitLinkFace.a(fromProductsunderRNKitLinkFace.xcodeproj) to build target'sLinked Frameworks and Librarieslist - Add linkface framework to
$(PROJECT_DIR)/Frameworks.
-
rnpm install rnkit-linkface -
$npm install -S rnkit-linkface$react-native link rnkit-linkface
- JDK 7+ is required
- Add the following snippet to your
android/settings.gradle:
include ':rnkit-linkface' project(':rnkit-linkface').projectDir = new File(rootProject.projectDir, '../node_modules/rnkit-linkface/android/app')
- Declare the dependency in your
android/app/build.gradle
dependencies { ... compile project(':rnkit-linkface') }
- Import
import io.rnkit.linkface.LinkFacePackage;and register it in yourMainActivity(or equivalent, RN >= 0.32 MainApplication.java):
@Override protected List<ReactPackage> getPackages() { return Arrays.asList( new MainReactPackage(), new LinkFacePackage() ); }
Finally, you're good to go, feel free to require rnkit-linkface in your JS files.
Have fun! 🤘
Import library
import RNKitLinkFace from 'rnkit-linkface';
try { const result = await RNKitLinkFace.start({ "outType" : "video", "Complexity" : 1, "sequence" : [ "BLINK", "MOUTH", "NOD", "YAW" ] }); console.log(result); } catch (error) { console.log(`code: ${error.code}, message: ${error.message}`); }
| Key | Type | Default | Description |
|---|---|---|---|
| Complexity | int | 活体检测复杂度 | |
| sequence | array | 设置识别序列, 活体检测复杂度 | |
| outType | string | 输出方案, 单图方案:singleImg, 多图方案:multiImg, 低质量视频方案:video, 高质量视频方案:fullVideo |
| Key | Type | Default | Description |
|---|---|---|---|
| encryTarData | string | 活体识别二进制文件路径 | |
| arrSTImage | array[string] | 返回的图片路径数组 | |
| lfVideoData | string | 视频地址 |
- ArgsNull: 参数不能为空
- BadJson: 解析Json指令失败!
- InitFaild: 初始化失败
- CameraError: 相机权限获取失败
- FaceChanged: 采集失败,人脸变更
- TimeOut: 超时
- WillResignActive: 活体验证失败, 请保持前台运行
- InternalError: 内部错误
- Unknown: 未知错误
- Cancel: 用户取消识别
RNKitLinkFace.clean();
import { NativeEventEmitter } from 'react-native'; const nativeEventEmitter = new NativeEventEmitter(RNKitLinkFace); const listener = nativeEventEmitter.addListener('MultiLivenessDidStart', () => { // 此方法可能会回调多次 }); // 使用完后记得移除 listener.remove();
import { NativeEventEmitter } from 'react-native'; const nativeEventEmitter = new NativeEventEmitter(RNKitLinkFace); const listener = nativeEventEmitter.addListener('MultiLivenessDidFail', () => { // 此方法可能会回调多次 }); // 使用完后记得移除 listener.remove();
- @simamn The main author.
Feel free to contact me or create an issue
made with ♥