---
title: Liveness (biometrisches Selfie)
canonical: https://developer.unico.io/de/dual-api/developers/sdks-and-tools/flutter/capture-flow/capture-types/liveness
locale: de
generated_by: markdown-export
---

Biometrische Selfie-Aufnahme mit integrierter Liveness-Verifizierung. Das SDK führt den Benutzer, bis ein biometrisch gültiges Bild über SmartFrames erhalten wird, und gibt das Bild als Base64 + JWT zurück.

:::secondary[Funktion]
Dieser Aufnahmetyp verwendet die **Liveness**-Funktion. Eine konzeptionelle Übersicht über die Funktionsweise von Liveness finden Sie auf der Liveness-Funktionsseite.
:::

## 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 führt den Benutzer, das Gesicht innerhalb des Rahmens zu positionieren.
3. Validiert Liveness — die Sitzung wird nur abgeschlossen, wenn der Benutzer physisch anwesend ist.
4. Gibt ein `ResultCamera`-Objekt mit `base64` und `encrypted` (JWT) über den Plattformkanal zurück.

## Camera mode (smart capture)

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

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

:::tip
Die `false`/`true`-Werte für die obigen Methoden ändern nicht das Aufnahmeerlebnis; sie werden nur für die interne Logik des SDK verwendet.
:::

## Starting a liveness capture

****Schritt 2** — Selfie-Listener für `UnicoSelfie` implementieren**

Fügen Sie die Selfie-Callbacks zu Ihrer State-Klasse hinzu:

  | Methode | Beschreibung |
  |---|---|
  | `onSuccessSelfie(ResultCamera result)` | Aufnahme erfolgreich — gibt `ResultCamera` mit `base64` (Vorschau) und `encrypted` (JWT für die API) zurück |
  | `onErrorSelfie(UnicoError error)` | Aufnahme fehlgeschlagen — gibt einen `UnicoError` mit Code und Beschreibung zurück |

  :::warning[Token-Ablauf]
  Das Intervall zwischen der Generierung von `encrypted` und der Übermittlung an die API darf **10 Minuten** nicht überschreiten.
  :::

  ```dart
  class _MyHomePageState extends State<MyHomePage>
      implements UnicoSelfie {

    @override
    void onSuccessSelfie(ResultCamera result) { }

    @override
    void onErrorSelfie(UnicoError error) { }

  }
  ```

****Schritt 3** — `openCameraSelfie` aufrufen**

Die Methode `openCameraSelfie` öffnet die Kamera. Sie benötigt die Implementierung des `UnicoSelfie`-Listeners und die JSON-Datei mit den Anmeldeinformationen, die im vorherigen Schritt generiert wurde:

  ```dart
  _opener.openCameraSelfie(
    jsonFileName: androidJsonFileName,
    listener: this,
  );
  ```

## 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.

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

Die vollständige Ergebnisverarbeitung finden Sie unter [Ergebnis empfangen](/developers/sdks-and-tools/flutter/capture-flow/receiving-the-result).