
# 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

1. In XCode, in the project navigator, right click `Libraries` ➜ `Add Files to [your project's name]`
2. Go to `node_modules` ➜ `react-native-baidu-face` and add `RNBaiduFace.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNBaiduFace.a` to your project's `Build Phases` ➜ `Link Binary With Libraries`
4. Run your project (`Cmd+R`)<
5. 把官方下载的sdk 中的bundle 和 framework 以及 license 文件添加进项目
6. 在 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

1. 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 the `getPackages()` method
2. 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'
  	```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
  	```
      implementation project(':react-native-bdface')
      implementation project(path:':faceplatform-ui')
  	```

4. 按照官方文档把对应的faceplatform 和faceplatform-ui 拷贝到安卓的根目录下

5. 按照官方文档在app/src/main 下新建 assets 目录，并把相应的idl-license 文件放进去

6. 项目的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
```javascript
import RNBaiduFace from 'react-native-baidu-face';

// TODO: What to do with the module?

        RNBaiduFace.livenessWithCallBack((error,data)=>{
            console.log('image data back ',data);
        })
```
  