增强版实人认证服务提供Android客户端SDK,帮助您在App中实现实人认证功能。您可通过服务端认证初始化接口,获取唯一标识CertifyId,并使用CertifyId唤起客户端SDK。本文介绍了在Android客户端集成增强版活体验证SDK的详细流程。

前提条件

请在Android 4.0.3+ (minSdkVersion >= 15) 以上系统版本的移动设备(手机与PAD上)运行。

说明 不支持模拟器设备、定制硬件设备应用。建议您和商户经理沟通具体定制设备的应用场景,评估切换其他集成方案。

权限说明

为了加强安全效果,当前SDK需要下表描述的权限。

权限 是否必须 备注
android.permission.INTERNET 没有该权限将导致SDK功能不可用。
android.permission.ACCESS_NETWORK_STATE 否(推荐赋予) 无。
android.permission.CAMERA 这些权限在Android 6.0以上机型中需要动态获取。

如果您要启用权限,则接入时需要注意在初始化接口调用之前,确保您的App已经被授予了权限。

android.permission.READ_PHONE_STATE 否(推荐赋予)
android.permission.WRITE_EXTERNAL_STORAGE 否(推荐赋予)

下载及配置SDK

  1. 下载增强版活体验证SDK(Android)到本地并完成解压。SDK中的文件为Android标准.aar包。
  2. 将解压得到的所有.aar文件导入到业务App工程的/libs目录下,并在App的build.gradle中添加以下依赖关系:
    // SDK模块。
    implementation files('libs/aliyun-identityplatform-xxx.aar')
    implementation files('libs/aliyun-identityface-xxx.aar')
    implementation files('libs/Android-AliyunDevice-xxx.aar')
    implementation files('libs/aliyun-identitycrypto-xxx.aar')
    
    // SDK三方依赖模块。
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.squareup.okhttp3:okhttp:3.11.0'
    implementation 'com.squareup.okio:okio:1.14.0'
    implementation 'com.aliyun.dpa:oss-android-sdk:+'
    implementation 'com.alibaba:fastjson:1.1.72.android'
说明
  • 上述依赖关系中xxx表示SDK具体的版本号。
  • 在使用中不能缺少SDK三方依赖库,否则SDK功能会异常。

函数说明

增强版活体验证SDK包含初始化SDK(install)、获取MetaInfo(getMetaInfo)和开始认证(faceCompare)3个函数,具体说明如下。

初始化SDK(install)函数
  • 描述:

    调用该函数完成SDK内部初始化。该函数需要在App启动的时候尽可能早去执行。

  • 函数原型:
    public void install(Context context);
  • 参数说明:
    名称 类型 说明
    context Context 当前Application的context。
  • 返回值:

    无。

说明 为了确保整个验证过程的安全性,SDK会对设备环境做一些检查,请确保在调用install函数之前App已经获取了android.permission.INTERNETandroid.permission.READ_PHONE_STATE权限,否则将导致SDK功能不可用。
获取MetaInfo(getMetaInfo)函数
  • 描述:

    调用该函数获取当前移动设备端的环境信息,并将这些信息发送到业务服务器端。

    业务服务器端会将这些信息作为参数之一(MetaInfo)调用服务端初始化认证接口(InitSmartVerify),从而获取CertifyId,用于后续验证环节。

  • 函数原型:
    public static String getMetaInfo(Context context);
  • 参数说明:
    名称 类型 说明
    context Context 当前Activity的context。
  • 返回值:
    以JSON格式返回当前移动设备端的环境信息。返回值示例如下:
    {
        "apdidToken": "",
        "appName": "com.aliyun.identity.platform",
        "appVersion": "1.0.1",
        "bioMetaInfo": "5.1.0:11501568,4",
        "deviceBrand": "xxx",
        "deviceManufacturer": "xxx",
        "deviceModel": "xxx",
        "deviceType": "android",
        "identityVer": "1.0.0",
        "osVersion": "10",
        "sdkVersion": "1.0.9"
    }
开始认证(faceCompare)函数
  • 描述:

    调用该函数发起增强版活体验证。

  • 函数原型:
    public void faceCompare(String certifyId, Map<String, String> extParams, 
                           IdentityCallback callback);
  • 参数说明:
    名称 类型 说明