金融级实人认证服务提供UniApp插件,帮助您在您的业务应用(App)中实现刷脸认证功能。您可以通过您的应用服务端认证初始化接口,向阿里云服务器调用发起认证请求接口并获取刷脸认证的唯一标识CertifyId,然后使用CertifyId唤起刷脸认证客户端SDK。本文介绍如何通过UniApp插件接入刷脸认证。
接入前必读
近期发现有个人开发者封装阿里云增强版实人认证SDK后开发了第三方插件,并在某平台上提供付费下载服务。阿里云提醒您,如果您使用了此类非阿里云官方提供的插件或服务,阿里云概不对由此造成的一切后果负责,亦不承担任何法律责任。建议您使用阿里云官方SDK服务。
配置依赖
您可以参考DCloud官网文档接入UniApp插件,也可以参考以下步骤接入UniApp插件。
下载金融级实人认证UniApp SDK,解压到项目中的nativePlugins目录下。
说明金融级实人认证产品提供了多样化的产品方案,包括金融级实人认证方案、金融级多因子意愿认证方案、金融级活体人脸验证方案等,您可以根据业务需求选择对应产品方案。如果您的App对包大小比较敏感,您可以根据自己的需求先对SDK部分模块进行裁剪,然后再进行集成。具体裁剪说明请参考SDK包裁剪说明。
除了删除对应的模块文件,iOS还需要额外删除对应的framework配置。该配置位于SDK目录下的package.json文件中,具体位置为“_dp_nativeplugin > ios > frameworks”。
导入本地插件。
在manifest.json文件下,单击App原生插件配置。
在App原生插件配置区域,单击选择本地插件。
在本地插件选择对话框,选择需要打包生效的插件。
配置基座包。
制作自定义调试基座。在manifest.json文件,选择 。
设置自定义调试基座。在manifest.json文件,选择 ,单击运行到Android App基座或运行到iOS App基座,勾选使用自定义基座运行。
说明后续如果调试功能正常,打包正式版本时需要选择
。
调用金融级实人认证服务。
获取metaInfo数据。
您在调用金融级实人认证服务端初始化接口InitFaceVerify时需要传入该值,用于获取后续认证的certifyId。
开始认证。调用verify认证接口,传入certifyId进行认证。
代码示例
加载模块并获取MetaInfo数据:
<script>
// 加载金融级实人认证插件
const aliyunVerify = uni.requireNativePlugin('AP-FaceDetectModule');
export default {
onLoad() {
// 调用getMetaInfo获取MetaInfo数据
var metaInfo = aliyunVerify.getMetaInfo();
let p = uni.getSystemInfoSync().platform;
if (p === "ios") {
metaInfo = JSON.stringify(metaInfo);
}
uni.showToast({
title: '返回的内容' + metaInfo,
icon: 'none'
});
console.log(metaInfo);
}
}
</script>
开始认证:
aliyunVerify.verify({
"certifyId": "<替换生成的certifyId>",
"extParams": { "<扩展参数key>": "<扩展参数value>" }
}, function (response) {
console.log(response)
});
完整的代码示例,请点击Demo下载。
错误码说明
错误码 | 是否计费 | 错误码文案 | 错误码描述 |
1000 | 是 | 刷脸成功 | 用户完成了刷脸过程,认证建议结果为通过。该结果仅供参考,可通过调用服务端DescribeFaceVerify接口获取最终认证结果。 |
1001 | 否 | 系统错误 | 表示系统错误。 |
1003 | 否 | 验证中断 | 表示验证中断。 |
2002 | 否 | 网络错误 | 表示网络错误。 |
2003 | 否 | 客户端设备时间错误 | 表示客户端设备时间错误。 |
2006 | 是 | 刷脸失败 | 用户完成了刷脸过程,认证建议结果为未通过。该结果仅供参考,可通过调用服务端DescribeFaceVerify接口获取最终认证结果、未通过的详细原因。 |
关于错误码的更多信息,请参见iOS客户端错误码详情或Android客户端错误码详情。