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

- [/de/](/de/)
- [SDKs und Tools](/de/developers/sdks-and-tools/overview)
- [Flutter SDK](/de/developers/sdks-and-tools/flutter/requirements)
- Aufnahmeablauf
- User Journeys

# User Journeys

User Journeys sind mehrstufige Aufnahmesitzungen, die vom SDK in Verbindung mit dem konfigurierten Ablauf orchestriert werden. Zum Beispiel führt der Ablauf `idchecktrustdocssign` Selfie + Dokument + Unterschrift in einer einzigen Sitzung aus.

ProdukteDie verfügbaren Journeys hängen von dem für Ihre Integration konfigurierten Ablauf ab. Die vollständige Zuordnung von Produkt → Ablauf → Funktion finden Sie unter [Produkte](/de/products).

How it works
Das Plugin delegiert an die zugrunde liegenden nativen SDKs:

1. Das Plugin öffnet die Kamera (Android oder iOS) mit dem SmartFrame-Overlay.
2. Das native SDK orchestriert die für den Ablauf erforderliche Aufnahmesequenz (Selfie, Dokument, Unterschrift).
3. Das SDK leitet die Ergebnisse intern an Unico weiter — der Client empfängt oder verwaltet Bilddaten niemals direkt.
4. Gibt ein `SuccessResult`-Objekt mit einer `processId` über den Plattformkanal zurück.

Die Orchestrierung wird vollständig vom SDK übernommen — Sie müssen die Schrittsequenz nicht in Ihrem Dart-Code implementieren.

Camera mode (smart capture)
Das SDK hat standardmäßig **intelligentes Framing** und **automatische Aufnahme** aktiviert. Konfigurieren Sie den Kameramodus in Ihrem Builder wie folgt:

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

Starting a User Journey
**Schritt 1** — `UnicoListener` implementieren`UnicoListener` verarbeitet die SDK-Lifecycle-Callbacks. Implementieren Sie die vier obligatorischen Methoden:MethodeWann sie aufgerufen wird`onErrorUnico(error)`Ein Fehler ist während des SDK-Betriebs aufgetreten`onUserClosedCameraManually()`Der Benutzer hat die Kamera manuell geschlossen`onSystemClosedCameraTimeoutSession()`Das 40-Sekunden-Sitzungslimit wurde erreicht`onSystemChangedTypeCameraTimeoutFaceInference()`Kein Gesicht für 13 Sekunden erkannt — wechselt zur manuellen Aufnahme```
class _MyHomePageState extends State<MyHomePage> implements UnicoListener {  late UnicoCheckBuilder _unicoCheck;  @override  void onErrorUnico(UnicoError error) {}  @override  void onUserClosedCameraManually() {}  @override  void onSystemClosedCameraTimeoutSession() {}  @override  void onSystemChangedTypeCameraTimeoutFaceInference() {}}
```

Obligatorische Listener-MethodenAlle vier oben genannten Listener-Methoden müssen in Ihrem Projekt erstellt werden (auch ohne jegliche Logik). Andernfalls wird das Projekt nicht erfolgreich kompiliert.
**Schritt 2** — Journey-Listener für `UnicoSelfie` implementierenFügen Sie die Journey-Callbacks zu Ihrer State-Klasse hinzu:MethodeBeschreibung`onSuccess(SuccessResult result)`Aufnahme erfolgreich — gibt `SuccessResult` mit `processId` zurück (Unico verarbeitet das Bild intern)`onErrorSelfie(UnicoError error)`Aufnahme fehlgeschlagen — gibt einen `UnicoError` mit Code und Beschreibung zurückKeine BilddatenIm Gegensatz zum Liveness-Ablauf gibt der User Journey-Callback **weder** `base64` noch `encrypted` zurück. Unico verarbeitet das Bild intern und gibt nur eine `processId` zurück.```
@overridevoid onSuccess(SuccessResult result) {  debugPrint('processId: ${result.processId}');}@overridevoid onErrorSelfie(UnicoError error) { }
```

**Schritt 3** — `openCameraSelfie` aufrufenDie Methode `openCameraSelfie` öffnet die Kamera. Für User Journeys übergeben Sie das von Unico bereitgestellte `webAppToken` anstelle einer JSON-Anmeldeinformationsdatei:```
_opener.openCameraSelfie(  listener: this,  webAppToken: token,);
```

Monitoring data collection
Die Methode `openCameraSelfie` bietet eine Überladung, die Metadaten über `UnicoCheckPrepareInfo` akzeptiert, um die Identifizierung der Benutzersitzung und des Ablaufs zu unterstützen:

`externalUserId` (String, **erforderlich**) — Benutzeridentifikator in Ihrem System. Wird automatisch mit SHA-256 gehasht, bevor die Übertragung erfolgt.
`useCase` (String, optional) — Identifikator für den aktuell ausgeführten Kontext oder Ablauf. Wird im Klartext übertragen.

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

Die vollständige Ergebnisverarbeitung finden Sie unter [Ergebnis empfangen](/de/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result).Zuletzt aktualisiert am 8. Okt. 2026**