ユーザージャーニー
ユーザージャーニーは、SDKが設定されたフローと連携して実行するマルチステップのキャプチャーセッションです。たとえば、ライブネス + リスクスコア + Document Capture + Electronic Signature を含むフローは、1つのセッションでセルフィー、書類のキャプチャー、署名を実行します。
利用可能なジャーニーは、インテグレーションに設定されたフローによって異なります。製品 → フロー → 機能の完全なマッピングについては、製品を参照してください。
SDKは以下の処理を行います。
- 初期化時に提供されたフロー設定を読み取ります。
- フローに必要なキャプチャーのシーケンス(セルフィー、書類、署名)を調整します。
- ジャーニーが完了すると、
onSuccessを通じてprocessIdが返されます。セルフィーステップで は、onSuccessSelfieを通じて画像データ(base64/encrypted)も返されます。ドキュメントと署名のキャプチャはSDKが内部的に処理します — ステップごとのアーティファクトはクライアントに公開されません。
オーケストレーションはSDKが完全に処理します — アプリ側でステップシーケンスを実装する必要はありません。
ステップ 1 — AcessoBioManagerDelegate を実装する
AcessoBioManagerDelegate は SDK のライフサイクルコールバックを処理します。4 つの必須メソッドを実装してください:
| メソッド | 呼び出しタイミング |
|---|---|
onErrorAcessoBioManager(error) | SDK 操作中にエラーが発生した場合 |
onUserClosedCameraManually() | ユーザーが手動でカメラを閉じた場合 |
onSystemClosedCameraTimeoutSession() | 40 秒のセッション制限に達した場合 |
onSystemChangedTypeCameraTimeoutFaceInference() | 13 秒間顔が検出されなかった場合 — 手動キャプチャに切り替わります |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate {
var unicoCheck: AcessoBioManager!
override func viewDidLoad() {
super.viewDidLoad()
unicoCheck = AcessoBioManager(viewController: self)
}
func onErrorAcessoBioManager(_ error: ErrorBio!) { }
func onUserClosedCameraManually() { }
func onSystemClosedCameraTimeoutSession() { }
func onSystemChangedTypeCameraTimeoutFaceInference() { }
}
@implementation ViewController: UIViewController
- (void)viewDidLoad {
[super viewDidLoad];
unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];
}
- (void)onErrorAcessoBioManager:(ErrorBio *)error { }
- (void)onSystemChangedTypeCameraTimeoutFaceInference { }
- (void)onSystemClosedCameraTimeoutSession { }
- (void)onUserClosedCameraManually { }
@end
上記の 4 つのデリゲートメソッドは、ロジックがなくてもプロジェクトに作成する必要があります。作成しない場合、プロジェクトは正常にコンパイルされません。
ステップ 2 — AcessoBioSelfieDelegate を実装する
ジャーニーのキャプチャー結果コールバックを処理するためにメソッドをオーバーライドします:
| メソッド | 説明 |
|---|---|
onSuccessSelfie(result) | 画像のキャプチャーに成功 — 後続のREST API呼び出し用の SelfieResult を返す |
onSuccess(result) | ジャーニーが正常に完了しました — バリデーション結果の照会に使用する processId を返す |
onErrorSelfie(errorBio) | キャプチャー失敗 — エラー詳細を含む ErrorBio を返す |
- Swift
- Objective-C
class ViewController: UIViewController, AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate {
func onSuccessSelfie(_ result: SelfieResult!) { }
func onSuccess(_ result: SuccessResult!) { }
func onErrorSelfie(_ errorBio: ErrorBio!) { }
}
@interface ViewController: UIViewController <AcessoBioManagerDelegate,
SelfieCameraDelegate, AcessoBioSelfieDelegate>
@end
@implementation ViewController
- (void)onSuccessSelfie:(SelfieResult *)result { }
- (void)onSuccess:(SuccessResult *)result { }
- (void)onErrorSelfie:(ErrorBio *)errorBio { }
@end
ステップ 3 — prepareSelfieCamera と open を呼び出す
SDK設定を渡して prepareSelfieCamera を呼び出します。カメラの準備ができると onCameraReady イベントが発生します — open() メソッドで webAppToken を渡してカメラを開きます:
webAppToken は、バックエンドでプロセスを作成する際に POST /client/v1/process から返される process.webAppToken フィールドです。プロセスの作成を参照してく ださい。
onCameraReady(cameraOpener)— カメラの準備完了。open(self, webAppToken:)を呼び出します。onCameraFailed(message)— カメラの準備に失敗(ErrorPrepareはErrorBioの拡張です)。
- Swift
- Objective-C
@IBAction func openCamera(_ sender: Any) {
unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())
}
func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {
cameraOpener.open(self, webAppToken: "your_web_app_token")
}
func onCameraFailed(_ message: ErrorPrepare!) { }
- (IBAction)openCamera:(UIButton *)sender {
[[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];
}
- (void)onCameraReady:(id)cameraOpener {
[cameraOpener open:self webAppToken:@"your_web_app_token"];
}
- (void)onCameraFailed:(ErrorPrepare *)message { }
完全な結果処理については、結果の受信を参照してください。