更新记录
1.2.2(2023-03-22) 下载此版本
原生 SDK 更新至v5.1.0.1和 v7.1.1
1.1.0(2022-11-08) 下载此版本
1.更新意愿性服务体验
1.0.1(2022-10-08) 下载此版本
1.新增意愿性表达服务
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:5.0 - 12.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:11 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
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-WBFaceWillService');
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即可。