全部產品
Search
文件中心

ID Verification:UniApp接入

更新時間:Nov 08, 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用戶端內建裝置助手安全模組,為了滿足不同地區資料收集合規要求,提供了不同的資料上報地區。您可以基於使用者屬性不同,設定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

  2. 調用getMetaInfo函數擷取MetaInfo資料。您在調用國際版ID Verification服務端發起認證請求時需要傳入該值。

  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

未擷取到網路攝影機許可權。