更新记录

1.3.0(2023-03-23)

原生 SDK 升级为5.3.0/7.3.1

1.2.2(2022-12-19)

原生 SDK 更新至v5.1.0.1和 v7.1.1

1.2.1(2022-12-16)

原生 SDK 更新至v5.1.0.1和 v7.1.1

查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:10 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择


需要说明

如果您单独接入人脸意愿性插件,为了保证程序正常运行,还需依赖Normal插件

Normal为人脸服务提供了网络请求与工具支持(如下图,只需要依赖即可,不需要您调用normal的接口)。

接入人脸插件

1 简介

通过活体检测鉴别真人/假人、人脸比对判断本人/非本人;支持活体+比对同时调用或分开调用。支持身份信息或比对源比对。支持意愿性表达。

动作活体

用户通过配合屏幕提示进行摇头、眨眼、张嘴等动作,活体检测服务通过姿态检测、纹理分析等判断当前识别的用户是否为真实的人

光线活体

用户通过正脸对准屏幕框内,屏幕发出多种光线颜色交替变化,活体检测服务通过3D立体成像、纹理分析等判断当前识别的用户是否为真实的人。

意愿性表达

用户只需对准摄像头拍摄人脸视频并进行语音朗读/回答,即可完成本人真实身份的认证以及真实意愿的校验,满足实名、实人、真意愿需求的产品;提供多种安全凭证,助力您的业务更加安全、合规。

详细参数及更多介绍参考:

参考文档

2 接口

2.1 入口


//身份认证接口
//普通级
WX_EXPORT_METHOD(@selector(startWbFaceVerifyService:callback:))
//增强级
WX_EXPORT_METHOD(@selector(startAdvanceWbFaceVerifyService:callback:))

//身份认证+意愿性表达接口
WX_EXPORT_METHOD(@selector(startWbFaceWillVerifyService:callback:))

调用示例:

const face = uni.requireNativePlugin('DC-WBFaceWillServiceV2');
face.startWbFaceWillVerifyService({
  userId: "test_user_1",
  nonce : "xxxxxx",
  sign : "xxxxxx",
  appId : "xxxxxx",
  orderNo : "xxxxxx",
  apiVersion : "1.0.0",
  licence : "xxxxxx",
  faceType: "1",
  compareType:"0",
  faceId: "xxxx",
  sdkConfig: {
    //和iOS共有的配置参数
    showSuccessPage: false, //是否展示成功页面,默认不展示
    showFailurePage: false, //是否展示失败页面,默认不展示
    recordVideo: false, //是否录制视频,默认不录制
    checkVideo: false, 
    playVoice: false, //是否播放语音提示,默认不播放
    theme: '1', //sdk皮肤设置,0黑色,1白色
    recordWillVideo: true,//是否录制意愿性表达长视频,默认不录制
    checkWillVideo: true, //是否检查意愿性长视频完成录制,默认不检查
    customerTipsLoc:'0',//自定义提示的位置,0在预览框下面,1在预览框上面
    customerTipsInLive:'',//检测时的自定义提示语
    customerTipsInUpload:'',//上传时的自定义提示语
    customerLongTip:'',//自定义长提示语
    //android独有的配置参数
    isEnableLog: true, //是否打开刷脸native日志,请release版本关闭!!!
    //iOS独有的配置参数
    windowLevel: '1', //sdk中拉起人脸活体识别界面中使用UIWindow时的windowLevel配置
    manualCookie: true ,//是否由SDK内部处理sdk网络请求的cookie
    useWindowScene: false
  }
}, result => {
  console.log("【uni log】face SDK callback ================> result.");
  console.log(result);
});

其中,startWbFaceVerifyService 后面传入调起 SDK 的参数,result 后面是插件的回调结果。 通用参数如

licence

详见简介中提供的链接地址: 参考文档

2.2 插件回调接口

回调信息以 json 格式返回给 uni-app,如上 2.2 节所说,通过 scene 字段来对应登录失败返回人脸认证结果两个回调方法:

  • wb_face_callback_login_failure
  • wb_face_callback_verify_result

和 OCR 插件一样,通过 scene 获取具体场景之后,在 res 字段里面读取相应的业务信息,res 是可选的。 刷脸成功样例:

{
    "scene":"wb_face_callback_verify_result",
    "res":
    {
        "willResult": {
            "willMsg": "请求成功",
            "faceCode": "0",
            "willCode": "0",
            "faceMsg": "请求成功",
            "videoPath":"xxxxx"  //仅打开意愿性录制视频开关才有值
        },
        "similarity": "94.42",
        "riskInfo": {
            "deviceInfoLevel": "1",
            "deviceInfoTag": "",
            "riskInfoLevel": "",
            "riskInfoTag": ""
        },
        "sign": "BC32E3E55B1577910D681DE1C0EA4AFBD0FB6634",
        "orderNo": "JeY5KJ9FA",
        "success": true,
        "liveRate": "99"
    }
}

刷脸失败样例:

{   "scene":"wb_face_callback_verify_result",
    "res":
    {
        "orderNo":"fIABR8jeM",
        "success":false,
        "error":
        {
            "code":"41000",
            "desc":"用户取消",
            "domain":"WBFaceErrorDomainNativeProcess",
            "reason":"左上角返回键:用户授权中取消"
        }
    }
}

更多服务

我们除了提供人脸识别服务,还提供OCR服务。

OCR插件详细参数及更多介绍参考:OCR插件接入

同时接入OCR插件及人脸插件

同时接入ocr与人脸插件,不需要再依赖normal插件,只需要ocr和face即可。

同时接入OCR插件及人脸插件

隐私、权限声明

1. 本插件需要申请的系统权限列表:

"NSPhotoLibraryUsageDescription", "NSPhotoLibraryAddUsageDescription", "NSMicrophoneUsageDescription" "NSCameraUsageDescription", "android.permission.INTERNET", "android.permission.WAKE_LOCK", "android.permission.ACCESS_NETWORK_STATE", "android.permission.CAMERA", "android.permission.RECORD_AUDIO", "android.permission.MODIFY_AUDIO_SETTINGS"

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 SDK会采集人脸数据,用于人脸识别,详情可参考:https://cloud.tencent.com/document/product/1007/66043

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

作者未提供license.md

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问