Webアプリ統合
このページでは、Unicoのジャーニーがどのように機能するか、そしてそれをアプリケーションに組み込むために利用できる統合モデルについて説明します。
ジャーニーとは、本人確認を完了するためにユーザーが通過する一連のステップです。たとえば、書類の写真を撮影する、顔のキャプチャ(ライブネス)を行う、といったものです。
Unicoが体験全体を管理します。統合の手間は最小限です。ジャーニーはCreateProcessを介して作成され、ユーザーはそこへ誘導され、最後に結果を受け取ります。その間に起こること(画面、指示、検証)はすでに構築されており、Unicoが保守しています。
- Web SDK(
unico-webframeパッケージ): バックエンドがすでに本人確認フローを制御しており、クライアントサイドのキャプチャコンポーネントのみが必要な場合に使用します。base64+ 暗号化されたJWTをコールバックに直接返します。API呼び出しはご自身で管理します。 - Web App Integration(
idpay-b2b-sdkパッケージ): Unicoにジャーニー全体(マルチステップフロー、書類キャプチャ + ライブネス)をオーケストレーションしてほしい場合に 使用します。idpay-b2b-sdkパッケージは埋め込み型のJourneys SDK(iFrame)モデルを実現します。直接アクセス(リダイレクト)モデルにライブラリは不要です。
2つの統合モデル
クライアントによってニーズは異なります。Unicoは、ユーザーをジャーニーへ誘導するための2つのモデルを提供します。
| モデル | 最適なケース |
|---|---|
| 直接アクセス | すでにWebViewを使用しているモバイルアプリ、またはジャーニーをメインページの外で実行できるWebフロー |
| Journeys SDK | 統合されたシームレスな体験を必要とし、ユーザーを同じ環境内にとどめたいWebアプリ |
- 直接アクセス
- Journeys SDK
ユーザーはUnicoがホストするリンクへリダイレクトされ、そこでジャーニーが実行されます。完了すると、プロセス作成時に定義したURL(callbackUriパラメータ)へ戻されます。
これは最も導入が簡単なアプローチです。ライブラリのインストールが不要で、ジャーニーをアプリケーション自身のページ内で実行する必要がない場合に適しています。一方で、ユーザーをクライアントの環境の外へ連れ出すため、摩擦が増え、結果として離脱率が高くなる傾向があります。
プロセスを作成すると、APIレスポンスにUnicoがホストするジャーニーのURLが含まれます。ユーザーをそこへ誘導する一般的な方法は2つあります。
- 標準リダイレクト。 ユーザーはジャーニーのURLへ直接リダイレクトされます。完了すると、Unicoはプロセス作成時に定義した
callbackUriへユーザーを戻します。 window.open()による新しいタブ。 ジャーニーは新しいブラウザタブで開かれ、ユーザーは別のコンテキストにとどまります。この場合、callbackUriへのURL変更を監視し、プロセスが完了したらタブを閉じることが推奨されます。APIの詳細についてはMDNのドキュメントを参照してください。
モバイルアプリでは、追加のリダイレクトなしにジャーニーを直接開くためにWebViewを使用するのが一般的です。この場合、callbackUriはディープリンクも受け付けます。これにより、ジャーニーの完了をきっかけにネイティブアプリ内の特定の画面を開くことができます。ディープリンクを戻り先として設定するだけで、オペレーティングシステムがユーザーを適切な場所へルーティングします。
ジャーニーはアプリケーション自体の内部で実 行され、ユーザーをそのコンテキストから外に出しません。Journeys SDKはアプリケーションにインストールされ、必要なときにジャーニーを開くために使用されます。
これは、より統合された、シームレスな体験を実現するための推奨される方法です。ユーザーを終始同じ環境内にとどめることで、フロー全体にわたって摩擦や離脱を減らす傾向があります。
Unicoは、モダンブラウザと互換性のあるJavaScriptライブラリを提供しており、わずか数行のコードでほぼあらゆるアプリケーションにジャーニーを統合できます。
互換性
このライブラリは、使用しているスタックに関係なく、摩擦なくあらゆるプロジェクトに組み込めるように設計されています。
- あらゆるWebアプリケーション。 UMD形式で配布されており、モダンなバンドラー(webpackやViteなど)を介してインポートした際に動作します。あらゆるフレームワーク(React、Angular、Vue)またはピュアなJavaScriptと互換性があります。
- モダンブラウザ。 ライブラリにはPromisesや
async/awaitなどの機能に必要なポリフィルがすでに含まれており、古いバージョンのブラウザへの互換性も拡張します。 - 標準的なWeb API。 ジャーニーはブラウザのネイティブ機能上で動作し、プロジェクト内のプラグインや外部ライブラリに依存しません。