Android-SDK-活体检测(2D)

快速体验 Demo

方式一:

安装 CV-Demo.apk 到您的手机,使用测试账号进行登录。

方式二:

下载 Demo 工程

集成 SDK 到您的工程中

根据您项目依赖的 Google 库的类型选择下载 UI 模块源码,下载完成解压后将liveness文件夹拷贝至您的项目中作为一个普通的module进行依赖。

SDK 版本更新

快速入门

  1. 初始化SDK

  2. 设置动作难度(在 setLicenseAndCheck() 方法之前调用,否则不生效

    您可以根据业务要求指定动作检测的难度(EASY,NORMAL,HARD),默认为 NORMAL

  3. 校验 license

    license 由您的服务端调用我们 openAPI 获取,启动活体检测之前调用

  4. 启动活体检测与获取检测结果

    SDK 默认不检查相机权限,如果您希望权限的申请交由 SDK 处理,可在 SDK 初始化方法调用后,调用如下方法,则 LivenessActivity 中会执行权限申请的操作:

    每次进行活体检测成功后,会返回唯一的 livenessId 和本次检测的 600*600 像素的清晰正面照片。

    • 您需要将 livenessId 传给您的服务端,由服务端调用 openAPI 获取本次检测的分值。

    • 您可以通过 SDK 提供的方法直接获取图片,也可以由服务端调用 openAPI 获取。

  5. 动作顺序说明

  1. 自定义返回的图像尺寸

  2. 返回多张图片(默认关闭)

    支持在每个动作分别采集一张图像,如果打开此开关,由于额外采集了多张图片,会导致 SDK 运行时内存占用提升,如果您的 App 本身已经占用较多内存,则打开此项配置可能会引发内存溢出,请谨慎选择。

    获取图片序列(活体检测成功后获取):

  3. 自定义动作时间

    支持自定义动作的检测时间,设置后所有动作都生效,单位:毫秒

  4. 用户绑定(强烈建议)。

    您可以通过该方法将自己的用户唯一标识传给我们,我们会根据该标识建立映射关系。当遇到问题时,方便同我们进行日志追踪。

  5. 开启遮挡检测

    遮挡检测默认是关闭状态,如需开启遮挡检测,请在初始化SDK之后调用如下方法设置

  6. 国际化

    SDK 支持中文,英文,印尼文,越南语,泰国语,印地语,西班牙语 七种语言/语音,跟随手机系统语言自动切换,无需代码设置。

    若没有跟随系统语言自动切换 ,请检查手机语言设置,确保【地区】和【语言】均已切换至对应的语言。
    若仍然出现语言国际化问题,同时 app 仅支持某种语言,可以通过在build.gradle中增加如下配置,过滤掉不需要的语言

  7. 运行时权限

    本 SDK 需要如下权限,并且已经在 aar 的清单文件中做了配置。

  8. 关于 App Bundle 打包

    SDK 中包含 .so 文件,为了减少包大小,在上架 Google Play 时可以选择使用 Bundle 打包,请验证打包后的 APK 在各个架构的手机上都可以运行,如果出现提示【该设备不支持】,则表示组装 APK 时缺失了 .aar 中的 .so 文件。

  9. 代码混淆

    SDK 已经做好了代码混淆,无需额外增加配置。

  10. 关于Androidx

    考虑到 Androidx 与 support 包的互斥,本 SDK 的 .aar 全部是 support 包,如果您的项目是 androidX 类包,编译时遇到提示 support 包冲突错误,请在您项目的根目录下的gradle.properties文件中增加下述配置,重新编译项目即可:

  11. SDK 兼容性

    • 最低 Android 版本:4.4 (API Level:19)
    • SDK 编译版本:API Level:32
    • 额外依赖的第三方库:无
    • 支持的 CPU 架构:armeabi-v7aarm64-v8ax86x86_64armeabi
    • SDK 包大小:1.3MB 模型文件 + 每种 CPU 架构约 0.8MB
    • 采集图像大小:默认采集图像分辨率 600px*600px,大小约为 300KB,支持自定义图像尺寸范围:300px~1000px

Error Code:

错误码解释解决办法
FACE_MISSING检测过程中人脸丢失/
ACTION_TIMEOUT动作超时/
MULTIPLE_FACE检测过程中出现多张人脸/
MUCH_MOTION检测过程中动作幅度过大/
AUTH_BAD_NETWORK授权请求网络失败连接 VPN 后重试
CHECKING_BAD_NETWORK动作结束后图像上传网络请求失败连接 VPN 后重试
DEVICE_NOT_SUPPORT该设备不支持活体检测设备无前置摄像头或不可用
USER_GIVE_UP用户中途放弃检测/
UNDEFINED未定义的其他错误类型/
NO_RESPONSE请求网络超时1.请检查您的网络;
2.请检查是否调用了 init 方法;
3.请确认 license 检查返回的是 SUCCESS
AUTH_PARAMETER_ERROR授权请求参数错误请检查初始化方法传入的 key 是否为 SDK 的,并且确保 Market 匹配
AUTH_IAM_FAILED包名未备案在 SaaS 上自主配置(Personal Management -> ApplicationId Management)或联系我们添加