ID Verification は、UniApp プラットフォーム用のプラグインを提供します。このプラグインを使用すると、eKYC リモート本人確認機能を UniApp アプリケーションに追加できます。このトピックでは、UniApp 連携プロセスについて説明し、コード例を示します。
事前準備
一部の開発者は、Alibaba Cloud ID Verification のソフトウェア開発キット (SDK) をカプセル化して、サードパーティのプラグインを作成しています。これらのプラグインは、さまざまなプラットフォームで販売されています。これらの非公式なプラグインやサービスの使用から生じるいかなる問題についても、Alibaba Cloud は責任を負わず、法的責任も一切負いません。安定性とセキュリティを確保するため、Alibaba Cloud の公式 SDK を使用してください。
依存関係の設定
UniApp プラグインを連携するには、DCloud の公式ドキュメントをご参照いただくか、次の手順に従ってください。
SDK リリースノートに移動して UniApp SDK をダウンロードし、プロジェクトの
nativePluginsディレクトリに解凍します。
ローカルプラグインをインポートします。
manifest.json ファイルで、[App ネイティブプラグイン設定] をクリックします。
[App Native プラグイン設定] セクションで、[ローカルプラグインの選択] をクリックします。

[ローカルプラグインの選択] ダイアログボックスで、パッケージ化するプラグインを選択します。
カスタムデバッグベースを作成します。
カスタムデバッグベースを作成するには、manifest.json ファイルでを選択します。

カスタムデバッグベースを設定するには、manifest.json ファイルで、を選択します。
説明リリースバージョンをパッケージ化するには、を選択します。

サービスの呼び出し
initWithOptionsメソッドを呼び出して SDK を初期化します。このメソッドは、options パラメーターを JSON オブジェクトとして受け入れます。options パラメーターは、デフォルトでは
nullで、オプションのデータ収集設定を指定します。重要ID Verification クライアントには、デバイスヘルパーとして知られるセキュリティモジュールが組み込まれています。デバイスヘルパーは、現地のデータ収集コンプライアンス要件を満たすために、さまざまなデータ報告リージョンを提供します。ユーザーの属性に基づいて、
CustomUrlとCustomHostを設定して、異なる報告サイトを指定できます。アプリケーションセッションのライフサイクルごとに指定できるデータ報告リージョンは 1 つだけです。サーバー側のクエリのリージョンは、報告リージョンと一致する必要があります。サポートされるリージョンはプロダクトによって異なります。詳細については、「サポートされるリージョン」をご参照ください。
各リージョンの
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マレーシア (クアラルンプール):
https://cloudauth-device.ap-southeast-3.aliyuncs.com
パラメーター
説明
例
IPv6
デバイス情報を報告するために IPv6 ドメイン名を使用するかどうかを示します:
0 (デフォルト):いいえ (IPv4 ドメイン名を使用)
1:はい (IPv6 ドメイン名を使用)
"1"
DataSwitch
デバイス情報をいつ報告するかを制御します:
0 (デフォルト):SDK の初期化時
1:トークン取得時
説明デフォルト設定を推奨します。
"1"
CustomUrl
データ報告用のサーバードメイン名を設定します。
「各リージョンの CustomUrl」をご参照ください。
CustomHost
データ報告用のサーバーホストを設定します。
"cloudauth-device.ap-southeast-1.aliyuncs.com"
説明この例はシンガポールリージョン用です。他のリージョンのサーバーホストについては、「各リージョンの CustomUrl」をご参照ください。
getMetaInfo関数を呼び出して MetaInfo データを取得します。ID Verification サーバーを呼び出して検証リクエストを開始するときに、この値を渡します。検証を開始するには、
startVerify関数を呼び出して transactionId を渡します。 transactionId は、サーバーサイドのInitializeAPI を呼び出すことで取得できます。startVerify()インターフェイスを呼び出して、検証リクエストを開始します。startVerify()インターフェイスには、次のパラメーターがあります:transactionId:必須パラメーター。
extParams:オプションの拡張パラメーター。
次の例は、パラメーターを渡す方法を示しています:
// Android の場合 aliyunVerify.startVerify({ transactionId: "<verification_id>", // サーバーから取得した transactionId を入力します。 SdkLanguage: "zh-Hans" // 拡張パラメーターでフィールドを渡します。 }, function(t){ console.log(t) }); // レスポンス形式 { code: 1000, // エラーコード message: "CODE_VERIFY_SUCCESS" // エラーコードの説明 }
setCustomUI()インターフェイスを呼び出して、UI カラーをカスタマイズします。params:データを JSON 形式で渡します。UI カスタマイズ設定の詳細については、ネイティブ SDK のドキュメントをご参照ください:
完全なコード例
<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>
SDK リリースノートに移動して UniApp Demo をダウンロードし、完全な例を表示することもできます。
このデモコードは連携の参照用にのみ提供されています。アプリケーションには最新バージョンの SDK を使用するようにしてください。
エラーコード
エラーコード | 説明 |
1000 | 検証に成功しました。 この結果は参照用です。サーバーサイドの CheckResult API を呼び出して、最終的な検証結果を取得してください。 |
1001 | 検証に失敗しました。 失敗の詳細な理由を取得するには、サーバーサイドの CheckResult API を呼び出してください。 |
1002 | システムエラー。 |
1003 | SDK の初期化に失敗しました。クライアントの時刻が正しいか確認してください。 |
1004 | カメラの権限エラー。問題を解決するには、次の手順を試してください:
|
1005 | ネットワークエラー。 |
1006 | ユーザーが終了しました。 |
1007 | 無効な TransactionId。 |
1009 | クライアントタイムスタンプエラー。 |
1011 | 送信された証明書の種類が正しくありません。 |
1012 | 検出された証明書の主要な情報が欠落しているか、形式チェックに失敗しました。 |
1013 | 画質が低すぎます。 |
1014 | エラー回数が上限を超えました。 |
1015 | Android システムのバージョンが低すぎます。 |
1016 | カメラの権限が付与されていません。 |