Vai al contenuto principale
Queste versioni si riferiscono agli SDK di verifica dell’identità. I moduli e i wrapper di autenticazione nativa hanno un rilascio separato: vedi le guide rapide all’autenticazione.
Integra la verifica Didit nativamente nelle tue applicazioni mobili con i nostri SDK ufficiali. Gli SDK nativi offrono un’esperienza utente fluida, prestazioni migliori e pieno accesso alle funzionalità del dispositivo rispetto alle integrazioni basate su WebView.

Approccio consigliato: per la migliore esperienza utente, usa i nostri SDK nativi invece dell’integrazione WebView. Gli SDK nativi gestiscono automaticamente tutta la complessità dei permessi della fotocamera, della lettura NFC e del rilevamento della vitalità.


Disponibilità degli SDK

Il consenso biometrico richiede la versione nativa 4.10.0 o successiva. Per le persone soggette alla normativa dell’Illinois, del Texas o del Colorado, Didit può richiedere un consenso biometrico esplicito prima della prima acquisizione del volto. Il flusso ospitato (SDK Web, WebView, browser) e gli SDK nativi iOS e Android 4.10.0 o successivi mostrano questo passaggio; React Native e Flutter lo mostrano in una release che fissa la versione nativa 4.10.0 o successiva. Un SDK nativo precedente alla 4.10.0, oppure uno che non riporta la propria versione, non può mostrarlo: le sue sessioni procedono come prima, e la decisione riporta biometric_consent.status: "pending" con reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Aggiorna se verifichi persone in questi stati.

Novità nella 4.13.2

Su iOS, una foto richiesta a una fotocamera che si apre ma non fornisce fotogrammi non fa più andare in crash la tua app: ogni richiesta di foto verifica prima che sia in esecuzione una sessione della fotocamera con una connessione video attiva, e la schermata mostra invece l’errore della fotocamera o l’opzione per saltare il passaggio. Su Android, nel selfie della ricerca ID, una richiesta di foto da una fotocamera che non fornisce fotogrammi termina con l’errore della fotocamera nella schermata dopo 5 secondi, invece di attendere all’infinito. Nella schermata di benvenuto, mentre l’elenco dei passaggi continua sotto la dissolvenza inferiore, un pulsante rotondo Scorri verso il basso è posizionato orizzontalmente al centro dell’elenco (anche nelle lingue da destra a sinistra), come nel flusso web; un tocco scorre l’elenco verso il basso, e il pulsante si nasconde alla fine dell’elenco e mentre un pannello è aperto. La 4.13.1 per Android era una release intermedia con solo il pulsante Scorri verso il basso; la 4.13.2 lo porta su iOS, React Native e Flutter. L’SDK React Native 4.13.2 corregge anche un crash all’avvio nelle build di release Android minificate con R8 e proguard-android-optimize.txt: il pacchetto ora include le proprie regole R8. L’SDK Flutter 4.13.2 si compila anche con Android Gradle Plugin 9 e il Kotlin integrato.

Novità nella 4.13.0

Nel passaggio del telefono, ogni numero +1 (Stati Uniti e Canada) mostra una breve informativa sulle tariffe dell’operatore sotto Invia codice (“Potrebbero applicarsi tariffe standard per messaggi e dati”), con link ai Termini SMS e all’Informativa sulla privacy, nella lingua della persona. L’ovale del selfie ora si adatta sopra i propri controlli sugli schermi di altezza ridotta, e sono stati rimossi la pillola verde Fine, il pulsante Ho capito dopo la foto di un documento e la schermata Selfie scattato: una foto acquisita passa direttamente a Elaborazione. Quando l’acquisizione del documento è solo l’alternativa e un wallet di identità digitale è in primo piano, la schermata di avvio del wallet offre solo il wallet, e un nuovo tentativo con il wallet mantiene la verifica aperta senza un link al documento. Viene disegnata una bandiera per ogni prefisso internazionale che Didit può inviare, e mai quella sbagliata. Uno scenario sandbox attivato su una sessione già avviata ora mostra il motivo invece di un errore generico. Su Android, il wallet Credential Manager riporta “Verifica con identità digitale”, perché Google Wallet o qualsiasi altro wallet Android che contenga un documento d’identità compatibile può rispondere. iOS non offre questo metodo.

Novità nella 4.12.2

La schermata di benvenuto centra il logo sopra il titolo allineato a sinistra, e iOS mostra il logo del cliente alto 72 pt, come fanno Android e il web. Nel passaggio delle persone chiave KYB, Aggiungi rappresentante si apre con un ruolo di rappresentante selezionato e salva la persona tra i rappresentanti anche quando il workflow disattiva alcuni ruoli. Nei questionari, “Protetto da” resta fissato sotto il pulsante sugli schermi di altezza ridotta e con testo grande, il selettore del paese di una domanda sull’indirizzo ha un titolo riferito all’indirizzo, e un menu a tendina aperto adotta gli angoli dei campi.

Novità nella 4.12.1

Su un iPhone con lo spazio di archiviazione esaurito, le acquisizioni del documento e del selfie ora conservano il video: l’SDK iOS le registra in memoria e non carica mai una registrazione senza fotogrammi video. Una risposta del server in ritardo rispetto a una risposta anticipata non riapre più il passaggio appena completato (il passaggio NFC, selfie o documento), su iOS e Android.

Novità nella 4.12.0

Loghi dei wallet di identità digitale mostrati dal flusso web (Mobile-ID, ConnectID, Finnish Trust Network, OneID, Bank iD, MojeID, FranceConnect, Auðkenni, la carta d’identità estone e GOV.UK Wallet), sulla stessa targhetta bianca o nera del web. I suggerimenti di acquisizione spiegano cosa fare quando l’acquisizione automatica non è attiva, la schermata di benvenuto mantiene fissa la frase legale con testo di grandi dimensioni, e un avvio della sessione rifiutato non offre più un nuovo tentativo che non può funzionare. Le fotocamere per documento e selfie hanno un pulsante Cambia fotocamera accanto allo scatto, con Carica spostato in Suggerimenti, e nulla viene acquisito automaticamente mentre un pannello è aperto sopra la fotocamera. Su Android, il pannello Seleziona fotocamera denomina le fotocamere “Fotocamera anteriore” e “Fotocamera posteriore” in ogni lingua.

Novità nella 4.11.0

La versione 4.11.0 include anche tutto ciò che era previsto per la 4.10.0, che non è mai stata pubblicata: quindi passa direttamente dalla 4.9.1. Il flusso ha una struttura rinnovata, con una nuova barra superiore, l’avanzamento espresso in parole e una schermata di benvenuto ricostruita. L’acquisizione automatica di documento e selfie è ora presente in tutte le varianti, grazie ai rilevatori leggeri di Didit, quindi le varianti Core e AutoDetection acquisiscono allo stesso modo. La variante AutoDetection e l’artefatto Android didit-sdk-autodetection sono deprecati e identici a Core, e l’artefatto Android didit-sdk-autodetection-play non è più pubblicato. Nuovi passaggi: Verifica bancaria, Posizione (attivabile tramite le varianti iOS Core-Location, NFC-Location e All-Location), firma elettronica e consenso biometrico.

Novità nella 4.9.1

I selettori del paese per il documento e la prova di residenza ora si aprono sul paese rilevato dall’indirizzo IP dell’utente su iOS e Android, anche quando la ricerca termina dopo la comparsa della schermata. Un paese impostato nella sessione o scelto dall’utente non viene mai sovrascritto. Su Android, l’intestazione della sezione e i campi di un questionario vengono mostrati nella lingua dell’SDK, e la scansione del passaporto NFC non va più in crash nella variante completa. I testi di verifica in russo e kirghiso sono stati migliorati su entrambe le piattaforme.

Novità nella 4.9.0

Tutti gli SDK mobili nativi e cross-platform offrono ora un selettore della lingua facoltativo nella schermata di benvenuto della verifica. Imposta showLanguageSelector su true per mostrare lo stesso selettore compatto e con ricerca usato nel flusso di verifica web. Il selettore è nascosto per impostazione predefinita, quindi le integrazioni esistenti mantengono il loro comportamento attuale finché non lo abilitano.

Alternativa: se un SDK nativo non è ancora disponibile per la tua piattaforma, puoi usare Integrazione WebView come soluzione di ripiego.


Come funziona una sessione di verifica

Ogni SDK nativo utilizza la stessa sessione di verifica Didit. Il flusso è il seguente:
  1. Il tuo backend chiama POST /v3/session/ con workflow_id più eventuali dati di contesto opzionali (vendor_data, contact_details, expected_details, metadata, callback).
  2. Didit restituisce un session_id, un session_token a breve durata e un url della pagina ospitata.
  3. La tua app mobile riceve il session_token dal tuo backend e lo passa all’SDK (startVerification(token: …)).
  4. L’SDK nativo apre l’interfaccia di verifica, l’utente completa i passaggi e l’SDK restituisce un risultato con lo status finale della sessione (Approved, Declined, In Review, ecc.).
  5. Il tuo backend riceve la decisione completa tramite un webhook (webhook_type: "status.updated") e la salva.
Il risultato dell’SDK indica l’esito del workflow (status). La decisione completa (campi del documento, punteggi di confronto facciale, riscontri AML, dati NFC, avvisi) viene consegnata al tuo server tramite webhook e può anche essere recuperata dall’endpoint Retrieve Session Decision. Non fare mai affidamento solo sul risultato lato client per decisioni di autorizzazione.
Tutti gli SDK nativi supportano anche la modalità UniLink (solo workflow ID, senza backend). Usa UniLink per prototipi rapidi e il metodo con token di sessione per la produzione.

SDK per iOS

Quando usarlo: app native Swift / SwiftUI / UIKit destinate a iOS 13+. Un SDK iOS leggero e guidato dal server per la verifica dell’identità, con una configurazione minima.

Repository GitHub

Consulta il codice sorgente e gli esempi su GitHub
Funzionalità principali:
  • Supporto per SwiftUI e UIKit
  • Lettura di passaporti e documenti d’identità con NFC (iOS 15+; le varianti senza NFC Core e AutoDetection rimuovono NFC e OpenSSL e si distribuiscono su iOS 13+)
  • 54 lingue supportate
  • Tema dell’interfaccia personalizzabile
  • Integrazione con token di sessione o workflow ID
Avvio rapido:
→ Documentazione completa dell’SDK iOS

SDK per Android

Quando usarlo: app native Kotlin / Jetpack Compose / Java destinate ad Android 6.0 (API 23) o superiore. Un SDK Android leggero e guidato dal server per la verifica dell’identità, con una configurazione minima.

Repository GitHub

Consulta il codice sorgente e gli esempi su GitHub
Funzionalità principali:
  • Supporto per Kotlin e Jetpack Compose
  • Lettura di passaporti e documenti d’identità con NFC (l’artefatto me.didit:didit-sdk-core, attivabile esplicitamente, rimuove le dipendenze NFC)
  • Rilevamento automatico di documento e volto basato su ML su API 24+ (con ripiego sull’acquisizione manuale su API 23)
  • 54 lingue supportate
  • Tema dell’interfaccia personalizzabile
  • Integrazione con token di sessione o workflow ID
Avvio rapido:
→ Documentazione completa dell’SDK Android

SDK React Native

Quando usarlo: app React Native o Expo multipiattaforma che richiedono un’unica API TypeScript per iOS e Android (RN 0.76+, Nuova architettura). Un SDK React Native multipiattaforma che incapsula gli SDK nativi iOS e Android con un’unica API TypeScript.

Repository GitHub

Consulta il codice sorgente e gli esempi su GitHub
Funzionalità principali:
  • Un’unica API TypeScript per iOS e Android
  • Supporto Expo con plugin di configurazione a configurazione zero (richiede una build di sviluppo, non Expo Go)
  • Supporto per React Native CLI
  • Lettura di passaporti e documenti d’identità con NFC (disattivabile con DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 54 lingue supportate (ereditate dagli SDK nativi)
  • Integrazione con token di sessione o workflow ID
Avvio rapido:
→ Documentazione completa dell’SDK React Native

SDK Flutter

Quando usarlo: app Flutter multipiattaforma che richiedono un’unica API Dart per iOS e Android (Flutter 3.3+, Dart 3.11+). Un SDK Flutter multipiattaforma che incapsula gli SDK nativi iOS e Android con un’unica API Dart.

Pacchetto pub.dev

Consulta il pacchetto su pub.dev
Funzionalità principali:
  • Un’unica API Dart per iOS e Android
  • Integrazione con gli SDK nativi tramite canale della piattaforma
  • Lettura di passaporti e documenti d’identità con NFC (disattivabile con DIDIT_SDK_IOS_NFC_ENABLED=false / diditSdkAndroidNfcEnabled=false)
  • 54 lingue supportate (ereditate dagli SDK nativi)
  • Integrazione con token di sessione o workflow ID
Avvio rapido:
→ Documentazione completa dell’SDK Flutter

SDK Web (JavaScript)

Quando usarlo: applicazioni basate su browser e framework web (React, Vue, Angular, Next.js, Nuxt, Svelte, JavaScript puro). L’SDK Web apre il flusso di verifica sulla pagina ospitata in una modale o in un iframe inline; per le app mobili, preferisci gli SDK nativi sopra descritti. Un SDK JavaScript per applicazioni web con supporto per React, Vue, Angular, Next.js, Nuxt, Svelte e JavaScript puro.

Pacchetto NPM

Consulta il pacchetto su npm
Funzionalità principali:
  • Gestione programmatica delle sessioni e callback di evento
  • Supporto per React, Vue, Angular, Next.js, Nuxt, Svelte e JavaScript puro
  • Supporto completo per TypeScript
  • Modalità modale e inline (incorporata)
  • Gestione dello stato per interfacce personalizzate
Avvio rapido:
→ Documentazione completa dell’SDK JavaScript | Tutti gli SDK Web

Come scegliere un’integrazione

Gli SDK nativi sono la scelta migliore quando ti servono la lettura dei passaporti elettronici tramite NFC, l’acquisizione dalla fotocamera con la latenza più bassa e un’esperienza in-app indistinguibile dalle altre schermate native. Usa Integrazione WebView come soluzione di ripiego quando non puoi distribuire un aggiornamento dell’SDK nativo (ad esempio app brownfield che non puoi ricompilare, o piattaforme senza un SDK nativo di Didit).
Ultima modifica il 7 novembre 2026