UniApp客户端接入

增强版实人认证服务提供UniApp插件,帮助您在业务应用(App)中实现实人认证以及场景风险识别等功能。您可以通过服务端认证初始化接口,向阿里云服务器调用发起认证请求接口并获取唯一标识CertifyId,然后使用CertifyId唤起客户端SDK,并对认证结果进行查询。本文介绍UniApp客户端接入的操作方法。

接入前必读

近期发现有个人开发者封装阿里云增强版实人认证SDK后开发了第三方插件,并在某平台上提供付费下载服务。阿里云提醒您,如果您使用了此类非阿里云官方提供的插件或服务,阿里云概不对由此造成的一切后果负责,亦不承担任何法律责任。建议您使用阿里云官方SDK服务。

配置依赖

您可以参见DCloud官网文档接入UniApp插件,也可以参考以下步骤接入UniApp插件。

  1. 下载增强版实人认证UniApp SDK,解压到项目中的nativePlugins目录。目录
  2. 导入本地插件。
    1. 在manifest.json文件,单击App原生插件配置
    2. App原生插件配置区域,单击选择本地插件导入本地插件
    3. 本地插件选择对话框,选择需要打包生效的插件。
  3. 配置基座包。
    1. 设置自定义调试基座。在manifest.json文件,选择运行 > 运行到手机或模拟器 > 运行基座选择 > 自定义调试基座自定义调试基座
    2. 制作自定义调试基座。在manifest.json文件,选择运行 > 运行到手机或模拟器 > 制作自定义调试基座制作自定义调试基座
  4. 调用增强版实人认证服务。
    1. 获取MetaInfo数据。
      您在调用增强版实人认证服务端发起认证请求时需要传入该值。
    2. 开始认证。调用认证接口(faceVerify函数),传入CertifyId进行认证(CertifyId通过接口InitSmartVerify获取)。
      参数说明如下表所示。
      名称类型描述
      certifyIdString认证的唯一标识。
      extParamsMap<String, String>用户自定义参数,可以为空。关于自定义的字段,请参见用户自定义参数extParams支持的字段说明
      表 1. 用户自定义参数extParams支持的字段说明
      名称描述示例值
      kIdentityParamKeyShowResult是否需要展示OCR识别结果确认页。取值:
      • YES:要展示OCR识别结果确认页。
      • NO:不展示OCR识别结果确认页。
      YES
      kIdentityParamKeyWaterMark自定义证件图片水印文字。默认文字为仅供业务使用仅供业务使用
      kIdentityParamKeyIdCardFaceOnly是否仅识别身份证人像面。取值:
      • YES:仅识别身份证人像面。
      • NO:识别身份证人像面和国徽面。
      NO
      kIdentityParamKeyScanMaxTimeOCR证件扫描的超时时间,单位为秒,默认30秒。30
      kIdentityParamKeyValidIdCardDate是否校验身份证有效期。取值:
      • YES:校验身份证有效期。
      • NO:不校验身份证有效期。
      说明 kIdentityParamKeyIdCardFaceOnly取值为NO时该参数生效。
      YES
      kIdentityParamKeyNextButtonColorOCR识别结果确认页底部按钮的底色。#FF0000
      kIdentityParamKeyOcrModeOCR模式。取值:
      • PHOTO(默认):拍照模式。
      • SCAN:扫描模式。
      PHOTO
      kIdentityParamKeyOcrSelectPhoto是否展示从相册选择图片的功能,取值:
      • YES(默认):展示从相册选择照片的功能。
      • NO:不展示从相册选择照片的功能。
      YES

代码示例

  • 获取MetaInfo数据:
    <script>
        //加载增强版实人认证插件。
      const verifyPlugin = uni.requireNativePlugin('IdentityPlatformUniPlugin');
      export default {
        onLoad() {
          //调用getMetaInfo获取MetaInfo数据。
          var metaInfo = verifyPlugin.getMetaInfo();
          console.log(metaInfo);
        }
      }
    </script>
  • 增强版实人认证服务代码示例:
    verifyPlugin.faceVerify({
            "certifyId":"xxx"   //填写从服务端获取的CertifyId。
          }, function(response){
    
          });
    //response返回格式。
    {
       code:1000, //错误码。
       message:认证通过, //错误码描述。
       deviceToken:xxx, //设备Token(如果需要则获取本字段)。
    }

错误码说明

Code

说明

1000

认证通过。

1001

认证失败。

1002

系统异常。

1003

SDK初始化失败,请确认客户端时间是否正确,手机系统时间被修改会导致阿里云网关校验异常。

1004

摄像头错误。

1005

网络错误。

1006

用户取消。

1007

CertifyId无效。

1009

客户端时间戳错误。

1010

验证前,没有进行初始化。

1011

操作超时。

1012

暂不支持Android 4.3及以下版本。

1013

没有开启相机权限。