Zum Hauptinhalt springen
Dieser Leitfaden beschreibt, wie Sie den Didit-Web-Verifizierungsflow in eine native mobile WebView-Komponente einbetten. Dies ist nicht dasselbe wie die nativen iOS-, Android-, React Native- oder Flutter-SDKs – es handelt sich um eine Ausweichlösung für Plattformen, die kein natives SDK verwenden können.

Native SDKs immer bevorzugen

Native SDKs sind für iOS, Android, React Native und Flutter verfügbar. Sie bieten eine deutlich bessere Leistung, Kamerasteuerung, NFC-Pass-/Ausweisablesung, biometrische Integration und Benutzererfahrung. Verwenden Sie WebView nur, wenn für Ihre Plattform kein natives SDK verfügbar ist.

iOS SDK

Natives Swift-SDK für iOS 13+

Android SDK

Natives Kotlin-SDK für Android 6.0+

React Native SDK

Plattformübergreifende TypeScript-API. Expo-kompatibel.

Flutter SDK

Plattformübergreifende Dart-API. pub.dev-Paket.

Wann WebView verwendet werden sollte

Verwenden Sie die WebView-Integration nur, wenn:
  • Sie für eine Plattform ohne natives SDK entwickeln (z. B. Xamarin, Cordova oder andere Nischen-Frameworks)
  • Sie einen schnellen Prototyp oder Machbarkeitsnachweis benötigen, bevor Sie das native SDK integrieren
  • Sie von einer Webanwendung migrieren und eine temporäre Übergangslösung zu einer nativen Integration wünschen

Wie es funktioniert

1

Sitzung erstellen

Ihr Backend ruft die API zum Erstellen von Sitzungen auf und erhält eine gehostete url.
2

In WebView öffnen

Ihre App lädt die url in einer WebView-Komponente.
3

Benutzer schließt Verifizierung ab

Der Benutzer durchläuft den Verifizierungsflow innerhalb der WebView.
4

Callback abfangen

Nach Abschluss navigiert die WebView zu Ihrer Callback-URL. Ihre App fängt diese Navigation ab und extrahiert das Ergebnis.
5

Vollständige Ergebnisse per Webhook abrufen

Ihr Backend empfängt die vollständigen Entscheidungsdaten per Webhook.

Sitzung erstellen

Bevor Sie den Verifizierungsflow öffnen, erstellen Sie eine Sitzung über Ihr Backend:
Antwort (201 – die url enthält das 12-stellige session_token, nicht die session_id):
Laden Sie das Feld url in der WebView – erstellen Sie es niemals manuell aus session_token.

React Native

Installieren Sie das WebView-Paket:

Implementierung

React Native-Demo

Verifizierungsbeispiel mit Expo + WebView

Flutter

Fügen Sie die erforderlichen Pakete zu pubspec.yaml hinzu:

Implementierung

Flutter-Demo

Verifizierungsbeispiel mit Flutter WebView

Kritische Konfiguration

User-Agent (erforderlich)

Sie müssen einen generischen mobilen User-Agent festlegen, damit die WebView ordnungsgemäß funktioniert:
Dies gewährleistet den ordnungsgemäßen Kamerazugriff, die korrekte UI-Darstellung und eine optimale Medienwiedergabe.

Medieneinstellungen (erforderlich)


Callback verarbeiten

Nach der Verifizierung leitet die WebView mit Query-Parametern zu Ihrer Callback-URL weiter:
Für eine bessere Benutzererfahrung sollten Sie ein benutzerdefiniertes URL-Schema (z. B. myapp://verification-complete) als Callback verwenden und dieses als Deep Link in Ihrer App verarbeiten.

Fehlerbehebung

  1. Stellen Sie sicher, dass mediaPlaybackRequiresUserGesture auf false gesetzt ist
  2. Prüfen Sie, ob Kameraberechtigungen auf Betriebssystemebene erteilt wurden
  3. Stellen Sie sicher, dass der User-Agent-String korrekt gesetzt ist
  1. Überprüfen Sie, ob die Sitzungs-URL gültig und nicht abgelaufen ist
  2. Überprüfen Sie die Internetverbindung
  3. Stellen Sie sicher, dass JavaScript in den WebView-Einstellungen aktiviert ist
  1. Überprüfen Sie, ob Ihre Callback-URL mit der übereinstimmt, die Sie beim Erstellen der Sitzung angegeben haben
  2. Prüfen Sie, ob der Navigation-Delegate/-Listener ordnungsgemäß konfiguriert ist
  3. Versuchen Sie, beim Erstellen der Sitzung callback_method auf "both" zu setzen

Zuletzt geändert am 7. November 2026