更新记录

1.0.1(2022-10-17)

1、人脸活体检测与人脸采集


平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 适用版本区间:11 - 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原生插件配置”->”云端插件“列表中删除该插件重新选择


接入前准备

  1. 百度大脑
  2. 选择人脸识别 --> 本地化部署 --> 离线采集SDK
  3. 按配置申请lisence
  4. 接入步骤(QQ:448401921 不懂可咨询)

注意

  1. 购买前请先试用,测试没问题再考虑购买
  2. 本插件只提供两个极简方法满足 人脸采集与活体检测两个基础功能
  3. 图片返回base64格式
  4. 在uni-app项目根目录创建nativeplugins文件夹,然后依次在nativeplugins文件夹下创建以下文件夹,并将刚才下载下来的License授权文件放入以下文件夹下
  5. Android端放置目录:nativeplugins --> ainuo-baiduface --> android --> assets ios端放置目录:nativeplugins --> ainuo-baiduface --> ios

使用插件

初始化

const FaceAPI = uni.requireNativePlugin('ainuo-baiduface');
const keyIds = uni.getSystemInfoSync().platform == 'android' ? 'xxx-face-android' : 'xxx-face-ios';
        FaceAPI.initConfig(keyIds, res => {

        });

活体检测

FaceAPI.openFaceLiveness(
                {
                    livenessTypeList: [0, 1, 2]
                },
                res => {

                }
            );

人脸采集

FaceAPI.openFaceDetect({}, res => {

            });

callback返回结构

参数 对应值 结果
status 1 成功
status sdk常见错误码 sdk常见错误

重要

插件默认不会自行申请任何权限,安卓需要在uniapp中自行获取权限

async checkPermission(code) {
            let status = permision.isIOS ? await permision.requestIOS('camera') : await permision.requestAndroid('android.permission.CAMERA');

            if (status === null || status === 1) {
                status = 1;
            } else {
                uni.showModal({
                    content: '需要相机权限',
                    confirmText: '设置',
                    success: function(res) {
                        if (res.confirm) {
                            permision.gotoAppSetting();
                        }
                    }
                });
            }
            return status;
        },

方法列表

1.初始化

initConfig(callback(res)=>{})

1.人脸采集,params可传{}

openFaceDetect(params,(res)=>{})

1.活体检测

openFaceLiveness(params,(res)=>{})

支持参数及params

{

    livenessTypeList,//liveActionList 
    /**
      * 0, 眨眨眼
      * 1, 张张嘴
      * 2, 向右摇头
      * 3, 向左摇头
      * 4, 抬头
      * 5, 低头
      * 6, 摇头
      */
    isOpenSound,//开启声音 true/false
    livenessRandom,//是否随机 true/false
}

隐私、权限声明

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

安卓权限 android.permission.INTERNET 允许应用联网,SDK联网授权。 android.permission.READ_PHONE_STATE 获取用户手机的 IMEI,用来唯一的标识用户 android.permission.CAMERA 允许调用相机进行拍照 android.hardware.camera.autofocus 允许相机对焦 android.permission.WRITE_EXTERNAL_STORAGE 图片裁剪临时存储 ios 权限 访问相机权限

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

本插件采集的数据、发送的服务器地址、以及数据用途说明: 本插件不会采集任何用户数据,具体请访问百度离线采集SDK:https://ai.baidu.com/ai-doc/FACE/Mk37c1pue

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

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