更新记录
1.0.4(2021-02-24)
1、优化抓拍照曝光不足问题; 2、可配置参数加入“图片曝光度、图片模糊度、人脸遮挡阀值、识别角度、裁剪图片大小、最小人脸检测值、人脸置信度、是否检测人脸质量等”等参数。
1.0.3(2020-11-24)
修复Android SDK请求手机权限授权时引起的原生页面弹出异常问题。
1.0.2(2020-11-12)
1.添加自定义插件UI功能(包括按钮可见、文字颜色、背景颜色等); 2.添加可配式开关音效功能; 3.添加可配式切换前后摄像头功能。
查看更多平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 14 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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原生插件配置”->”云端插件“列表中删除该插件重新选择
插件使用流程
- 购买插件、选择插件绑定的项目
- 项目下的manifest.json的App原生插件配置中选择云端模块
- 打包自定义基座,在菜单栏选择运行->运行到手机或模拟器->运行基座选择->自定义调试基座
- 在代码中引用插件,调用插件功能
- 开发完毕后正式云打包发布即可
插件亮点
- iOS Android双端统一
- 可配式活体动作检测
- 动态切换前后置摄像头
- Android动态开关声音效果(iOS需通过参数配置)
- 自定义配置插件UI
- 无需配置权限,插件自主申请
插件接入步骤
- 正式使用前,请先在百度云申请人脸识别服务,创建应用并生成相应的License文件
- 替换百度授权文件idl-license.face-android/idl-license.face-ios,位置在nativeplugins->BD-FacePlugin->(android->assets)/ios
- 引入插件代码
const facePlugin = uni.requireNativePlugin('BD-FacePlugin'); let facePluginConfig = { androidLicenseID: "facePlugin-face-android", // Android授权文件 iosLicenseID: "facePlugin-face-ios", // iOS授权文件 livenessArray: ["Eye", "Mouth", "HeadLeft", "HeadRight", "HeadLeftOrRight", "HeadUp", "HeadDown"], // 动作列表 livenessCount: 3, // 动作个数,0个则是无动作 isLivenessRandom: true // 是否随机选择 textColor: '#F6A623', //可选参数 roundColor: '#FFA800', //可选参数 backgroundColor: '#2F2F33', //可选参数 isSound: true, //可选参数 visibleSoundBtn: true, //可选参数 isBackCamera: false, //可选参数 visibleCameraBtn: true, //可选参数 frontFaceNum: 3, //frontFaceNum设置为3时,会拍摄3张正面照并返回3张正脸照中的最后一张(不取1是因为部分手机第一张照片往往曝光不够,设置2以上可以解决该问题,该参数不影响动作照片) brightnessValue: 40.0, //可选参数,图片曝光度,默认值40f blurnessValue: 0.5, //可选参数,图像模糊度,默认值0.5f,取值范围0-1.0f occlusionValue: 0.5, //可选参数,人脸遮挡阀值,默认值0.5f,取值范围0-1.0f headPitchValue: 10, //可选参数,低头抬头角度,默认值10,取值范围0-45 headYawValue: 10, //可选参数,左右角度,默认值0.5f,取值范围0-45 headRollValue: 10, //可选参数,偏头角度,默认值0.5f,取值范围0-45 cropFaceValue: 400, //可选参数,裁剪图片大小,默认值400 minFaceSize: 80, //可选参数,最小人脸检测值,小于此值的人脸将检测不出来,最小值为80,默认值200 notFaceValue: 0.6, //可选参数,人脸置信度,默认值0.6f,取值范围0-1.0f isCheckFaceQuality: true //可选参数,是否检测人脸质量,默认值true,取值范围true/flase }; let image = ''; facePlugin.collectFace(facePluginConfig, result => { const data = JSON.parse(JSON.stringify(result)); if (data.status == 'OK') { if (data.base64ImageMap) { // base64ImageMap包含了所有出现的动作的照片 image = data.base64ImageMap.bestImage0.replace(/\%2B/g, '+'); // base64特殊字符处理 console.info(image); } } else { console.info(data); } });
- Android和iOS示例App下载
(微信扫码->浏览器打开,iOS下载完后需要对该App添加授信:设置-通用-设备管理-信任此开发者)
示例项目中已经有云端人脸注册、人脸识别案例、开发者可以根据需求进行筛选
- 插件使用详细教程
- 插件基于百度官方提供SDK,仅在手机上(Android、iOS)测试使用,平板可能会不兼容
- 插件可扩展人脸登录、移动考勤、刷脸支付、身份证识别等业务场景,如插件问题或需定制开发请下方留言
注:测试版本点击试用,正式发布的时候再购买
版权归开发者所有,最终解释权归作者所有。