---
title: User Journeys
canonical: https://developer.unico.io/hi/dual-api/developers/sdks-and-tools/flutter/capture-flow/capture-types/user-journeys
locale: hi
generated_by: markdown-export
---

User Journeys multi-step capture sessions हैं जो configured flow के साथ SDK द्वारा orchestrated होते हैं। उदाहरण के लिए, `idchecktrustdocssign` flow एक single session में selfie + document + signature execute करता है।

:::secondary[उत्पाद]
उपलब्ध journeys आपके integration के लिए configured flow पर निर्भर करती हैं। Product → flow → capability की पूरी mapping के लिए [उत्पाद](/products) देखें।
:::

## यह कैसे काम करता है

Plugin underlying native SDKs को delegate करता है:

1. Plugin SmartFrame overlay के साथ कैमरा खोलता है (Android या iOS)।
2. Native SDK flow के लिए आवश्यक captures के sequence को orchestrate करता है (selfie, document, signature)।
3. SDK internally Unico को results forward करता है — client कभी भी image data directly प्राप्त या manage नहीं करता।
4. Platform channel के माध्यम से `processId` के साथ `SuccessResult` object लौटाता है।

Orchestration पूरी तरह से SDK द्वारा संभाली जाती है — आपको अपने Dart code में step sequence implement करने की आवश्यकता नहीं है।

## Camera mode (smart capture)

SDK में **intelligent framing** और **automatic capture** डिफ़ॉल्ट रूप से सक्षम हैं। निम्नानुसार अपने builder में camera mode configure करें:

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

## User Journey शुरू करना

****चरण 2** — `UnicoSelfie` पर journey listeners लागू करें**

अपने state class में journey callbacks जोड़ें:

  | विधि | विवरण |
  |---|---|
  | `onSuccess(SuccessResult result)` | Capture सफल — `processId` के साथ `SuccessResult` लौटाता है (Unico छवि को internally process करता है) |
  | `onErrorSelfie(UnicoError error)` | Capture विफल — code और description के साथ `UnicoError` लौटाता है |

  :::warning[कोई image data नहीं]
  Liveness flow के विपरीत, User Journey callback `base64` या `encrypted` **नहीं** लौटाता। Unico image processing internally संभालता है और केवल `processId` लौटाता है।
  :::

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

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

****चरण 3** — `openCameraSelfie` कॉल करें**

`openCameraSelfie` विधि कैमरा खोलती है। User Journeys के लिए, JSON credentials फ़ाइल के बजाय Unico द्वारा प्रदान किया गया `webAppToken` पास करें:

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

## Monitoring data collection

`openCameraSelfie` विधि एक overload प्रदान करती है जो उपयोगकर्ता session और flow की पहचान करने में सहायता के लिए `UnicoCheckPrepareInfo` के माध्यम से metadata स्वीकार करती है:

- `externalUserId` (String, **आवश्यक**) — आपके सिस्टम में उपयोगकर्ता पहचानकर्ता। Transmission से पहले SHA-256 का उपयोग करके स्वचालित रूप से hashed।
- `useCase` (String, वैकल्पिक) — वर्तमान में चल रहे context या flow के लिए पहचानकर्ता। Plain text में transmitted।

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

पूर्ण result handling के लिए, [परिणाम प्राप्त करना](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result) देखें।