Vai al contenuto principale
Questa guida spiega come incorporare il flusso di verifica web di Didit all’interno di un componente WebView di un’app mobile nativa. Non coincide con gli SDK nativi per iOS, Android, React Native o Flutter: è una soluzione alternativa per le piattaforme che non possono usare un SDK nativo.

Preferisci sempre gli SDK nativi

Gli SDK nativi sono disponibili per iOS, Android, React Native e Flutter. Offrono prestazioni molto migliori, una gestione della fotocamera più efficace, la lettura NFC di passaporti e documenti d’identità, l’integrazione biometrica e un’esperienza utente più curata. Usa WebView solo se per la tua piattaforma non è disponibile alcun SDK nativo.

SDK iOS

SDK Swift nativo per iOS 13+

SDK Android

SDK Kotlin nativo per Android 6.0+

SDK React Native

API TypeScript multipiattaforma. Compatibile con Expo.

SDK Flutter

API Dart multipiattaforma. Pacchetto pub.dev.

Quando usare WebView

Usa l’integrazione WebView solo quando:
  • Stai sviluppando su una piattaforma senza SDK nativo (ad esempio Xamarin, Cordova o altri framework di nicchia)
  • Ti serve un prototipo rapido o una prova di concetto prima di integrare l’SDK nativo
  • Stai migrando dal web e vuoi un ponte temporaneo verso un’integrazione nativa

Come funziona

1

Crea una sessione

Il tuo backend chiama la API di creazione della sessione e riceve un url ospitato.
2

Apri nella WebView

La tua app carica l’url in un componente WebView.
3

L'utente completa la verifica

L’utente percorre il flusso di verifica all’interno della WebView.
4

Intercetta il callback

Al termine, la WebView passa al tuo URL di callback. La tua app intercetta questa navigazione ed estrae il risultato.
5

Ottieni i risultati completi tramite webhook

Il tuo backend riceve i dati completi della decisione tramite webhook.

Creare una sessione

Prima di aprire il flusso di verifica, crea una sessione dal tuo backend:
Risposta (201: l’url incorpora il session_token a 12 caratteri, non il session_id):
Carica il campo url nella WebView: non costruirlo mai a partire da session_token manualmente.

React Native

Installa il pacchetto WebView:

Implementazione

Demo React Native

Esempio di verifica con Expo + WebView

Flutter

Aggiungi i pacchetti richiesti a pubspec.yaml:

Implementazione

Demo Flutter

Esempio di verifica con WebView in Flutter

Configurazione critica

User agent (obbligatorio)

Devi impostare uno user agent mobile generico affinché la WebView funzioni correttamente:
Questo garantisce un accesso corretto alla fotocamera, una resa corretta dell’interfaccia e una riproduzione multimediale ottimale.

Impostazioni multimediali (obbligatorie)


Gestire il callback

Al termine della verifica, la WebView reindirizza al tuo URL di callback con parametri di query:
Per una migliore esperienza utente, usa come callback uno schema URL personalizzato (ad esempio myapp://verification-complete) e gestiscilo come deep link nella tua app.

Risoluzione dei problemi

  1. Assicurati che mediaPlaybackRequiresUserGesture sia false
  2. Verifica che le autorizzazioni della fotocamera siano concesse a livello di sistema operativo
  3. Controlla che la stringa dello user agent sia impostata correttamente
  1. Verifica che l’URL della sessione sia valido e non scaduto
  2. Controlla la connettività internet
  3. Assicurati che JavaScript sia abilitato nelle impostazioni della WebView
  1. Verifica che l’URL di callback corrisponda a quello impostato al momento della creazione della sessione
  2. Controlla che il delegate o il listener di navigazione sia configurato correttamente
  3. Prova a impostare callback_method su "both" quando crei la sessione

Ultima modifica il 7 novembre 2026