刷脸认证提供APICloud插件,帮助您在App中实现刷脸认证功能。您可通过刷脸认证的服务端认证初始化接口,获取刷脸认证的唯一标识CertifyId,并使用CertifyId唤起刷脸认证客户端SDK。本文介绍了APICloud客户端接入的操作方法。

前提条件

已在APICloud官网中创建应用。

背景信息

  • APICloud模块库中为开发者提供了各类模块,开发者可以方便地集成这些模块,丰富自己App的能力。如果项目有特殊需求,而模块库中提供的模块不能满足这项需求,那么可以选择自己开发模块。模块的开发方法,请参见模块开发指南(Android)模块开发指南(IOS)
  • 除APICloud官方保留名称外(api、mam、msm、mcm、push),开发者可以自定义模块。
  • 当自定义模块名称与官方模块库中的已有模块重名时,无论是在控制台添加模块,或者在config文件中配置模块,云编译会优先选择使用开发者的自定义模块。

配置依赖

  1. 下载刷脸认证APICloud模块到本地。
  2. 在APICloud控制台上传刷脸认证APICloud模块。
    1. 登录APICloud控制台
    2. 在左侧导航栏,选择端开发 > 模块
    3. 模块页签,选择自定义模块
    4. 自定义模块页签,输入有效的模块名称模块概要及版本号,选择并上传已下载的APICloud模块。
      自定义模块页签
    5. 单击保存
  3. 将APICloud模块添加到应用中。
    1. 模块页签,选择模块库
    2. 模块库页签,单击已上传APICloud模块右上角的1图标,将APICloud模块添加到应用中。
      添加模块
      说明 自定义模块只对自己的账号可见。如果需要对所有开发者开放,您可以在控制台的模块管理页面提交自己的模块,官方审核通过后会发布到模块库

      当您需要更新已上传的自定义模块时,您可以通过已上传自定义模块右上角的编辑图标,重新上传自定义模块包,上传后再单击保存。

函数说明

APICloud插件包含获取MetaInfo和开始认证函数,具体说明如下。

  • 获取MetaInfo数据

    调用getMetaInfo函数获取当前移动设备端的环境信息,并将这些信息发送到业务服务器端。业务服务器端会将这些信息作为参数之一(MetaInfo)调用服务端初始化认证接口(InitSmartVerify),从而获取CertifyId,用于后续验证环节。

    示例代码:
    var aliyunFace = api.require('aliyunFaceVerifyModule');
    aliyunFace.getMetaInfo(function(ret, err) {
        alert(ret);
    });
  • 开始认证

    调用Verify函数发起金融级实人认证。

    参数说明:
    名称 类型 说明
    certifyId String 从服务端初始化认证接口(InitSmartVerify)获取的CertifyId
    说明 每个CertifyId只能调用一次Verify函数,每次调用Verify函数之前都必须重新获取CertifyId
    extParams Map<String, String> 用户自定义参数,可以为空。目前支持自定义的字段,请参见表 1
    callback IdentityCallback 认证结果回调。回调格式如下:
    public class IdentityResponse {
        // 结果Code,具体含义请参见本文档“返回值说明”章节。
        public int code;
        
        // 结果Code描述。
        public String message;
    }
    
    public interface IdentityCallback {
        boolean response(IdentityResponse response);
    }
    表 1. 用户自定义参数extParams支持的字段说明
    名称 描述 示例值
    ext_params_key_use_video 是否需要返回视频留证。取值:
    • false(默认):不返回视频留证。
    • true:返回视频留证。
    false
    kIdentityParamKeyNextButtonColor OCR识别结果确认页底部按钮的底色。 #FF0000
    ext_params_key_face_progress_color 定制实人认证进度条的颜色。 #FF0000
    示例代码:
    var aliyunFace = api.require('aliyunFaceVerifyModule');
    aliyunFace.verify({
        certifyId: '1adffa'
    }, function(ret, err) {
        if (ret.code == 1000) {
            alert('认证成功');
        } else {
            alert(err.code);
        }
    });

返回值说明

服务器端的验证结果通过IdentityResponse.code返回,取值范围如下。
Code 说明
1000 刷脸成功。
1001 系统错误。
1003 验证中断。
2002 网络错误。
2003 客户端设备时间错误。
2006 刷脸失败。