更新记录

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

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


插件使用流程

  1. 购买插件、选择插件绑定的项目
  2. 项目下的manifest.json的App原生插件配置中选择云端模块
  3. 打包自定义基座,在菜单栏选择运行->运行到手机或模拟器->运行基座选择->自定义调试基座
  4. 在代码中引用插件,调用插件功能
  5. 开发完毕后正式云打包发布即可


插件亮点

  1. iOS Android双端统一
  2. 可配式活体动作检测
  3. 动态切换前后置摄像头
  4. Android动态开关声音效果(iOS需通过参数配置)
  5. 自定义配置插件UI
  6. 无需配置权限,插件自主申请


插件接入步骤

  1. 正式使用前,请先在百度云申请人脸识别服务,创建应用并生成相应的License文件
  2. 替换百度授权文件idl-license.face-android/idl-license.face-ios,位置在nativeplugins->BD-FacePlugin->(android->assets)/ios
  3. 引入插件代码
    
    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);
      }
    });
    
  4. Android和iOS示例App下载
    (微信扫码->浏览器打开,iOS下载完后需要对该App添加授信:设置-通用-设备管理-信任此开发者)
  5. 示例项目中已经有云端人脸注册、人脸识别案例、开发者可以根据需求进行筛选
  6. 插件使用详细教程
  7. 插件基于百度官方提供SDK,仅在手机上(Android、iOS)测试使用,平板可能会不兼容
  8. 插件可扩展人脸登录、移动考勤、刷脸支付、身份证识别等业务场景,如插件问题或需定制开发请下方留言


注:测试版本点击试用,正式发布的时候再购买

版权归开发者所有,最终解释权归作者所有。

隐私、权限声明

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

1、需要开启手机相机权限 2、需要开启读取手机相册权限(仅人脸注册照片从手机相册选取时需开启此权限)

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

插件自身不采集任何数据,插件使用的百度离线人人脸采集SDK采集数据,请参考其官方说明。 iOS端:https://ai.baidu.com/ai-doc/FACE/pk37c1qan Android端:https://ai.baidu.com/ai-doc/FACE/Mk37c1pue

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

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