README
react-native-baidu-face
Getting started
$ npm install react-native-baidu-face --save
Mostly automatic installation
$ react-native link react-native-baidu-face
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-baidu-face
and addRNBaiduFace.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNBaiduFace.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)< - 把官方下载的sdk 中的bundle 和 framework 以及 license 文件添加进项目
- 在 AppDelegate.m 中添加以下代码
#import <RNBaiduFace.h> #ifndef FaceParameterConfig_h #define FaceParameterConfig_h // 如果在后台选择自动配置授权信息,下面的三个LICENSE相关的参数已经配置好了 // 只需配置FACE_API_KEY和FACE_SECRET_KEY两个参数即可 // 人脸license文件名 #define FACE_LICENSE_NAME @"idl-license" // 人脸license后缀 #define FACE_LICENSE_SUFFIX @"face-ios" // (您申请的应用名称(appname)+「-face-ios」后缀,如申请的应用名称(appname)为test123,则此处填写test123-face-ios) // 在后台 -> 产品服务 -> 人脸识别 -> 客户端SDK管理查看,如果没有的话就新建一个 #define FACE_LICENSE_ID @"SuqianYanglao-face-ios" #endif [[RNBaiduFace shareInstance] initBDFaceSdkAndViewController:rootViewController Name:FACE_LICENSE_NAME Type:FACE_LICENSE_SUFFIX LicenseId:FACE_LICENSE_ID];
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNBaiduFacePackage;
to the imports at the top of the file - Add
new RNBaiduFacePackage()
to the list returned by thegetPackages()
method
Append the following lines to
android/settings.gradle
:include ':react-native-bdface' project(':react-native-bdface').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-bdface/android') include ':faceplatform-ui' include ':faceplatform'
Insert the following lines inside the dependencies block in
android/app/build.gradle
:implementation project(':react-native-bdface') implementation project(path:':faceplatform-ui')
按照官方文档把对应的faceplatform 和faceplatform-ui 拷贝到安卓的根目录下
按照官方文档在app/src/main 下新建 assets 目录,并把相应的idl-license 文件放进去
项目的mainApplication 中 添加以下代码 initSdk 中的第二参数 是licenseId 第三参数为文件名
@Override protected List<ReactPackage> getPackages() { return Arrays.<ReactPackage>asList( new RNBaiduFacePackage()) } @Override public void onCreate() { super.onCreate(); SoLoader.init(this, /* native exopackage */ false); RNBaiduFaceModule.initSdk(this,"SuqianYanglao-face-android","idl-license.face-android"); }
Usage
import RNBaiduFace from 'react-native-baidu-face';
// TODO: What to do with the module?
RNBaiduFace.livenessWithCallBack((error,data)=>{
console.log('image data back ',data);
})