全部产品
Search
文档中心

ID Verification:UniApp接入

更新时间:Nov 25, 2025

ID Verification 提供了 UniApp 平台插件,可以帮助您在 UniApp 应用中实现 eKYC 远程身份验证功能。本文将结合示例代码介绍 UniApp 平台的接入流程。

接入前必读

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

配置依赖

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

  1. 下载UniApp SDK,解压到项目中的nativePlugins目录。

  2. 导入本地插件。

    1. 在manifest.json文件,单击App原生插件配置

    2. App原生插件配置区域,单击选择本地插件

    3. 本地插件选择对话框,选择需要打包生效的插件。

  3. 制定自定义调试基座。

    1. 制作自定义调试基座。在manifest.json文件,选择运行 > 运行到手机或模拟器 > 制作自定义调试基座

    2. 设置自定义调试基座调试运行。在manifest.json文件,选择运行 > 运行到手机或模拟器 > 制作自定义调试基座 > 运行到Android/iOS App基座,选择使用自定义基座运行。

      说明

      打包正式版本需要使用发行 > 原生App-云打包

调用服务

  1. 调用initWithOptions方法,初始化SDK,可传入options(JSON对象)。

    options:信息采集可选项,默认可以为null。可选参数如下:

    重要
    • ID Verification客户端内置设备助手安全模块,为了满足不同地域数据收集合规要求,提供了不同的数据上报区域。您可以基于用户属性不同,设置CustomUrlCustomHost指定不同的上报站点。

    • 一次应用会话生命周期内只能指定一个地域上报,且服务端查询时地域需要和上报地域保持一致。各产品服务端支持的地域有所不同,详情请参考支持的地域

    • 各地域的CustomUrl

      • 中国香港https://cloudauth-device.cn-hongkong.aliyuncs.com

      • 新加坡https://cloudauth-device.ap-southeast-1.aliyuncs.com

      • 印度尼西亚(雅加达)https://cloudauth-device.ap-southeast-5.aliyuncs.com

      • 美国(硅谷)https://cloudauth-device.us-west-1.aliyuncs.com

      • 德国(法兰克福)https://cloudauth-device.eu-central-1.aliyuncs.com

    字段名

    说明

    示例

    IPv6

    是否使用IPv6域名上报设备信息:

    • 0(默认):否(使用IPv4域名)

    • 1:是(使用IPv6域名)

    "1"

    DataSwitch

    设备信息上报时机。

    • 0(默认):初始化时

    • 1:获取Token时

    说明

    建议采用默认配置。

    "1"

    CustomUrl

    设置数据上报服务器域名。

    "https://cloudauth-device.ap-southeast-1.aliyuncs.com"

    CustomHost

    设置数据上报服务器host。

    "cloudauth-device.ap-southeast-1.aliyuncs.com

  2. 调用getMetaInfo函数获取MetaInfo数据。您在调用国际版实人认证服务端发起认证请求时需要传入该值。

  3. 开始认证。调用认证接口(startVerify函数),传入transactionId进行认证(transactionId通过服务端接口Initialize获取)。

  4. 使用startVerify()接口发起认证请求。

    startVerify()接口参数:

    • 必须的参数:transactionId

    • 扩展参数:

      参考原生SDK(Android/iOS)各自的扩展参数(extParams)配置。

      Android

      Key

      说明

      示例(String类型)

      IdentityParams.OcrResultButtonColor

      OCR识别结果页面的底部按钮颜色。

      #FF0000

      IdentityParams.RoundProgressColor

      扫脸时的圆圈颜色。

      #FF0000

      IdentityParams.ShowBlbumIcon

      证件OCR识别环节,是否展示相册上传入口:

      • 1(默认):展示

      • 0:不展示

      1

      IdentityParams.ShowOcrResult

      证件OCR识别环节,是否展示识别结果页:

      • 1(默认):展示

      • 0:不展示

      1

      IdentityParams.EditOcrResult

      证件OCR识别环节,识别结果页是否可编辑:

      • 1(默认):可编辑

      • 0:不可编辑

      1

      IdentityParams.MaxErrorTimes

      重试次数上限。

      可设置范围为3~10次,默认10次。

      10

      IdentityParams.CardOcrTimeOutPeriod

      OCR识别环节超时时长。

      可设置范围为20~60秒,默认20秒。

      20

      IdentityParams.FaceVerifyTimeOutPeriod

      活体采集检测环节超时时长。

      可设置范围为20~60秒,默认20秒。

      20

      IdentityParams.OcrResultTimeOutPeriod

      OCR识别结果页面可编辑时长。

      可自定义配置,默认不限。

      60

      IdentityParams.SdkLanguage

      SDK语言自定义设置。默认跟随移动设备系统的设置。

      说明

      SDK具体支持的语言列表,请参见Android和iOS SDK 自定义语种

      zh-Hans

      IdentityParams.CloseButtonLayout

      关闭按钮的布局:

      • left(默认):左侧

      • right:右侧

      left

      IdentityParams.WaterMark

      OCR识别成功后水印文字。

      测试水印文字

      IdentityParams.Protocol

      SDK Protocol。

      说明

      通过服务端Initialize接口获取protocol,传入扩展参数中,可减少SDK内部接口交互,提升网络体验。

      iOS

      Key

      说明

      示例(String类型)

      kIdentityParamKeyNextButtonColor

      OCR识别结果页面的底部按钮颜色。

      #FF0000

      kIdentityParamKeyRoundProgressColor

      扫脸时的圆圈颜色。

      #FF0000

      kIdentityParamKeyOcrSelectPhoto

      证件OCR识别环节,是否展示相册上传入口:

      • 1(默认):展示

      • 0:不展示

      1

      kIdentityParamKeyShowOcrResult

      证件OCR识别环节,是否展示识别结果页:

      • 1(默认):展示

      • 0:不展示

      1

      kIdentutyParamKeyEditOcrResult

      证件OCR识别环节,识别结果页是否可编辑:

      • 1(默认):可编辑

      • 0:不可编辑

      1

      kIdentityParamKeyMaxRetryCount

      重试次数上限。可设置范围为3~10次,默认10次。

      10

      kIdentityParamKeyCardOcrTimeOutPeriod

      OCR识别环节超时时长。可设置范围为20~60秒,默认20秒。

      20

      kIdentityParamKeyFaceVerifyTimeOutPeriod

      活体采集检测环节超时时长。可设置范围为20~60秒,默认20秒。

      20

      kIdentityParamKeyCardOcrEditTimeOutPeriod

      OCR识别结果页面可编辑时长。 可自定义配置,范围为60秒到180秒之间,默认不限。

      180

      kIdentityParamKeyLanguage

      SDK语言自定义设置。默认跟随移动设备系统的设置。

      说明

      SDK具体支持的语言列表,请参见Android和iOS SDK 自定义语种

      zh-Hans

      kIdentityParamKeyDefaultLanguage

      SDK默认语言设置,可参考kIdentityParamKeyLanguage字段取值

      默认为en:英文。

      en

      kIdentityParamKeyCloseButtonPosition

      SDK关闭按钮位置:

      • left(默认):左侧

      • right:右侧

      left

      kIdentityParamKeyWatermark

      OCR识别成功后水印文字。

      测试水印文字

      kIdentutyParamKeyProtocol

      SDK Protocol。

      说明

      通过服务端Initialize接口获取protocol,传入扩展参数中,可减少SDK内部接口交互,提升网络体验。

      968412EB*******...

      传参示例:

      //android端,
      aliyunVerify.startVerify({
        transactionId:"<认证id>",// 填写从服务端获取的transactionId。
        SdkLanguage:"cn"// 传入拓展参数中的字段。	
      }, function(t){
        console.log(t)
      });
      
      // response返回格式
      {
        code:1000,				 // 错误码
        message:"CODE_VERIFY_SUCCESS"		// 错误码描述
      }
  5. 使用setCustomUI()接口自定义UI颜色。

    params:传入JSON格式数据。参考原生SDK各自的ui自定义配置:

完整代码示例

<template>
  <view class="button-sp-area">
  <button type="primary" plain="true" @click="init">init</button>
  <button type="primary" plain="true" @click="getMetaInfo">getMetaInfo</button>
  <button type="primary" plain="true" @click="verify">verify</button>
  <button type="primary" plain="true" @click="setCustomUi">setCustomUi</button>
		
  </view>
</template>

<script>
const aliyunVerify = uni.requireNativePlugin('VerifyIntlUniPlugin');
	
export default {
  data() {
    return {
      title: ''
    }
  },
  onLoad() {
			
  },
  methods: {
    init:function() {
      console.log("init");
      const json={
        CustomUrl:"https://cloudauth-device.ap-southeast-5.aliyuncs.com",
        CustomHost:"cloudauth-device.ap-southeast-5.aliyuncs.com"
      };
      aliyunVerify.initWithOptions(json);
    },
    getMetaInfo:function() {
      console.log("getMetaInfo");
      var t = aliyunVerify.getMetaInfo();
      console.log(t);
      uni.showToast({
        title: t,
        icon: 'none'
      });
    },
    setCustomUi:function(){
      const json={
        faceConfig:{faceBGColor:"#FF00FF"}
      };
      var t = aliyunVerify.setCustomUI(JSON.stringify(json));
      console.log("setCustomUi"+t);
    },
    verify:function(){
      console.log("Face Verify");
      aliyunVerify.startVerify({
          transactionId:"xxxxx",//认证ID
        }, 
       function(t){
         console.log(t);
         const msg = JSON.stringify(t);
         console.log(msg);
         // uni.showToast({
         // 	title: t,
         // 	icon: 'none'
         // });
       });
    }
  }
}
</script>
<style>
button {
  margin-top: 30upx;
  margin-bottom: 30upx;
}

.button-sp-area {
  margin: 0 auto;
  width: 60%;
}

.content {
  text-align: center;
  height: 400upx;
}

.wrapper {
  flex-direction: column;
  justify-content: center;
}

.button {
  width: 200px;
  margin-top: 30px;
  margin-left: 20px;
  padding-top: 20px;
  padding-bottom: 20px;
  border-width: 2px;
  border-style: solid;
  border-color: #458B00;
  background-color: #458B00;
}

.text {
  font-size: 30px;
  color: #666666;
  text-align: center;
}
</style>

您也可以下载UniApp Demo示例体验完整示例。

重要

此Demo代码仅作为集成示例,建议替换最新版本SDK。

错误码说明​

错误码

结果码描述

1000

认证成功。

该结果仅供参考,可通过调用服务端接口CheckResult获取最终认证结果。

1001

认证失败。

如需获取更详细的失败原因,可通过调用服务端接口CheckResult获取。

1002

系统错误。

1003

SDK初始化失败,请确认客户端时间是否正确。

1004

相机权限错误。请参考以下步骤尝试解决:

  1. 在认证前请先确保App已获取到相机权限。

  2. 如已授权仍提示无权限,请尝试清除App缓存后重试。

1005

网络错误。

1006

用户退出。

1007

TransactionId无效。

1009

客户端时间戳错误。

1011

提交证件类型错误。

1012

识别出的证件关键信息缺失或格式校验失败。

1013

图片质量不佳。

1014

错误次数超出上限。

1015

安卓系统版本过低。

1016

未获取到摄像头权限。