Zum Hauptinhalt springen

Liveness (biometrisches Selfie)

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.

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:

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

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 1UnicoListener 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-Methoden

Alle 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 — Selfie-Listener für UnicoSelfie implementieren

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

MethodeBeschreibung
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
Token-Ablauf

Das Intervall zwischen der Generierung von encrypted und der Übermittlung an die API darf 10 Minuten nicht überschreiten.

@override
void onSuccessSelfie(ResultCamera result) { }

@override
void onErrorSelfie(UnicoError error) { }
Schritt 3openCameraSelfie 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:

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