---
title: ユーザージャーニー
canonical: https://developer.unico.io/ja/developers/sdks-and-tools/flutter/capture-flow/user-journeys
locale: ja
generated_by: markdown-export
---

- [/ja/](/ja/)
- [SDK とツール](/ja/developers/sdks-and-tools/overview)
- [Flutter SDK](/ja/developers/sdks-and-tools/flutter/requirements)
- キャプチャフロー
- ユーザージャーニー

# ユーザージャーニー

ユーザージャーニーは、SDK が設定されたフローと連携してオーケストレーションするマルチステップのキャプチャセッションです。たとえば、`idchecktrustdocssign` フローは、1 つのセッションでセルフィー + ドキュメント + 署名を実行します。

製品利用可能なジャーニーは、インテグレーションに設定されたフローによって異なります。製品 → フロー → 機能の完全なマッピングについては、[製品](/ja/products) を参照してください。

How it works
プラグインは基盤となるネイティブ SDK に処理を委譲します:

1. プラグインは SmartFrame オーバーレイとともにカメラ（Android または iOS）を開きます。
2. ネイティブ SDK はフローに必要なキャプチャのシーケンス（セルフィー、ドキュメント、署名）をオーケストレーションします。
3. SDK は結果を内部的に Unico に  転送します — クライアントは画像データを直接受け取ったり管理したりしません。
4. プラットフォームチャンネルを通じて `processId` を含む `SuccessResult` オブジェクトを返します。

オーケストレーションは SDK が完全に処理します — Dart コードでステップシーケンスを実装する必要はありません。

Camera mode (smart capture)
SDK はデフォルトで**インテリジェントフレーミング**と**自動キャプチャ**が有効になっています。ビルダーでカメラモードを次のように設定します:

```
UnicoCheckCameraOpener _opener = new UnicoCheck(this)**    .setAutoCapture(autoCapture: true)    .setSmartFrame(smartFrame: true)    .build();
```

Starting a User Journey
**ステップ 1** — `UnicoListener` を実装する`UnicoListener` は SDK ライフサイクルコールバックを処理します。4 つの必須メソッドを実装してください:メソッド呼び出されるタイミング`onErrorUnico(error)`SDK 操作中にエラーが発生した場合`onUserClosedCameraManually()`ユーザーが手動でカメラを閉じた場合`onSystemClosedCameraTimeoutSession()`40 秒のセッション制限に達した場合`onSystemChangedTypeCameraTimeoutFaceInference()`13 秒間顔が検出されなかった場合 — 手動キャプチャに切り替わる```
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {  late UnicoCheckBuilder _unicoCheck;  @override  void onErrorUnico(UnicoError error) {}  @override  void onUserClosedCameraManually() {}  @override  void onSystemClosedCameraTimeoutSession() {}  @override  void onSystemChangedTypeCameraTimeoutFaceInference() {}}
```

必須リスナーメソッド上記 4 つのリスナーメソッドはすべてプロジェクト内に作成する必要があります（ロジックがなくても同様です）。作成しない場合、プロジェクトは正常にコンパイルされません。
**ステップ 2** — `UnicoSelfie` にジャーニーリスナーを実装するジャーニーのコールバックをステートクラスに追加します:メソッド説明`onSuccess(SuccessResult result)`キャプチャ成功 — `processId` を含む `SuccessResult` を返す（Unico が画像を内部で処理する）`onErrorSelfie(UnicoError error)`キャプチャ失敗 — コードと説明を含む `UnicoError` を返す画像データなしLiveness フローとは異なり、ユーザージャーニーのコールバックは `base64` や `encrypted` を**返しません**。Unico は画像処理を内部で処理し、`processId` のみを返します。```
@overridevoid onSuccess(SuccessResult result) {  debugPrint('processId: ${result.processId}');}@overridevoid onErrorSelfie(UnicoError error) { }
```

**ステップ 3** — `openCameraSelfie` を呼び出す`openCameraSelfie` メソッドはカメラを開きます。ユーザージャーニーの場合は、JSON 認証情報ファイルの代わりに Unico から提供された `webAppToken` を渡します:```
_opener.openCameraSelfie(  listener: this,  webAppToken: token,);
```

Monitoring data collection
`openCameraSelfie` メソッドは、ユーザーセッションとフローの識別を支援するために `UnicoCheckPrepareInfo` 経由でメタデータを受け取るオーバーロードを提供します:

`externalUserId`（String、**必須**）— システム内のユーザー識別子。送信前に SHA-256 を使用して自動的にハッシュ化されます。
`useCase`（String、任意）— 現在実行中のコンテキストまたはフローの識別子。平文で送信されます。

```
_opener.openCameraSelfie(  listener: this,  webAppToken: token,  prepareInfo: UnicoCheckPrepareInfo(    externalUserId: 'external_user_id',    useCase: 'use_case', // optional  ),);
```

結果処理の詳細については、[結果を受け取る](/ja/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result) を参照してください。最終更新 2026年10月8日**に