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指定不同的上報網站。
注意:一次應用會話生命週期內只能指定一個地區上報,且服務端查詢時地區需要和上報地區保持一致。
指定網站上報:
新加坡網站(預設):
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中國香港:
https://cloudauth-device.cn-hongkong.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資料。您在調用國際版ID Verification服務端發起認證請求時需要傳入該值。
開始認證。調用認證介面(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 | 未擷取到網路攝影機許可權。 |