ID Verification 提供了 UniApp 平台插件,可以帮助您在 UniApp 应用中实现 eKYC 远程身份验证功能。本文将结合示例代码介绍 UniApp 平台的接入流程。
接入前必读
近期发现有个人开发者封装阿里云ID Verification服务的SDK后开发了第三方插件,并在某平台上提供付费下载服务。阿里云提醒您,如果您使用了此类非阿里云官方提供的插件或服务,阿里云概不对由此造成的一切后果负责,亦不承担任何法律责任。建议您使用阿里云官方SDK服务。
配置依赖
您可以参见DCloud官网文档接入UniApp插件,也可以参考以下步骤接入UniApp插件。
下载UniApp SDK,解压到项目中的nativePlugins目录。

导入本地插件。
在manifest.json文件,单击App原生插件配置。
在App原生插件配置区域,单击选择本地插件。

在本地插件选择对话框,选择需要打包生效的插件。
制定自定义调试基座。
制作自定义调试基座。在manifest.json文件,选择。

设置自定义调试基座调试运行。在manifest.json文件,选择,选择使用自定义基座运行。
说明打包正式版本需要使用。

调用服务
调用
initWithOptions方法,初始化SDK,可传入options(JSON对象)。options:信息采集可选项,默认可以为null。可选参数如下:
重要ID Verification客户端内置设备助手安全模块,为了满足不同地域数据收集合规要求,提供了不同的数据上报区域。您可以基于用户属性不同,设置
CustomUrl和CustomHost指定不同的上报站点。一次应用会话生命周期内只能指定一个地域上报,且服务端查询时地域需要和上报地域保持一致。各产品服务端支持的地域有所不同,详情请参考支持的地域。
各地域的
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
调用getMetaInfo函数获取MetaInfo数据。您在调用国际版实人认证服务端发起认证请求时需要传入该值。
开始认证。调用认证接口(startVerify函数),传入transactionId进行认证(transactionId通过服务端接口Initialize获取)。
使用
startVerify()接口发起认证请求。startVerify()接口参数:
必须的参数:transactionId
扩展参数:
传参示例:
//android端, aliyunVerify.startVerify({ transactionId:"<认证id>",// 填写从服务端获取的transactionId。 SdkLanguage:"cn"// 传入拓展参数中的字段。 }, function(t){ console.log(t) }); // response返回格式 { code:1000, // 错误码 message:"CODE_VERIFY_SUCCESS" // 错误码描述 }
使用
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 | 相机权限错误。请参考以下步骤尝试解决:
|
1005 | 网络错误。 |
1006 | 用户退出。 |
1007 | TransactionId无效。 |
1009 | 客户端时间戳错误。 |
1011 | 提交证件类型错误。 |
1012 | 识别出的证件关键信息缺失或格式校验失败。 |
1013 | 图片质量不佳。 |
1014 | 错误次数超出上限。 |
1015 | 安卓系统版本过低。 |
1016 | 未获取到摄像头权限。 |