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

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

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

## How it works

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

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

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

## Camera mode (smart capture)

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

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

## Starting a User Journey

****ステップ 2** — `UnicoSelfie` にジャーニーリスナーを実装する**

ジャーニーのコールバックをステートクラスに追加します:

  | メソッド | 説明 |
  |---|---|
  | `onSuccess(SuccessResult result)` | キャプチャ成功 — `processId` を含む `SuccessResult` を返す（Unico が画像を内部で処理する） |
  | `onErrorSelfie(UnicoError error)` | キャプチャ失敗 — コードと説明を含む `UnicoError` を返す |

  :::warning[画像データなし]
  Liveness フローとは異なり、ユーザージャーニーのコールバックは `base64` や `encrypted` を**返しません**。Unico は画像処理を内部で処理し、`processId` のみを返します。
  :::

  ```dart
  @override
  void onSuccess(SuccessResult result) {
    debugPrint('processId: ${result.processId}');
  }

  @override
  void onErrorSelfie(UnicoError error) { }
  ```

****ステップ 3** — `openCameraSelfie` を呼び出す**

`openCameraSelfie` メソッドはカメラを開きます。ユーザージャーニーの場合は、JSON 認証情報ファイルの代わりに Unico から提供された `webAppToken` を渡します:

  ```dart
  _opener.openCameraSelfie(
    listener: this,
    webAppToken: token,
  );
  ```

## Monitoring data collection

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

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

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

結果処理の詳細については、[結果を受け取る](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result) を参照してください。