Questa pagina descrive come iniziare a utilizzare Firebase Phone Number Verification in un'app per Android. Per una descrizione generale di questa funzionalità, consulta la panoramica.
Seguendo i passaggi descritti in questa pagina, puoi iniziare rapidamente a implementare i flussi utente per Firebase PNV. A scopo di test, genererai un token solo di test che si risolve in un numero di telefono fittizio. Utilizzando questo token di test, puoi iniziare ad aggiungere Firebase PNV alla tua app senza bisogno di un account di fatturazione o di un dispositivo con una SIM reale.
Una volta che sei soddisfatto dell'esperienza utente Firebase PNV nella tua app, puoi seguire alcuni passaggi aggiuntivi per mettere in produzione l'app.
Prima di iniziare
Aggiungi Firebase al tuo progetto Android se non l'hai già fatto.
Per utilizzare la modalità di test, il dispositivo su cui è in esecuzione l'app deve essere registrato al programma beta pubblico dei servizi di sistema di Google. Consulta la pagina collegata per scoprire come registrarti.
1. Aggiungi la libreria Firebase PNV alla tua app
Nel file Gradle del modulo (a livello di app) (in genere<project>/<app-module>/build.gradle.kts o
<project>/<app-module>/build.gradle),
aggiungi la dipendenza per la libreria Firebase Phone Number Verification per Android. Ti consigliamo di utilizzare la
Firebase Android BoM
per controllare il controllo delle versioni della libreria.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.0")) // Add the dependencies for the Firebase Phone Number Verification libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv") }
Con la Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.
(Alternativa) Aggiungi le dipendenze della libreria Firebase senza utilizzare la BoM
Se scegli di non utilizzare la Firebase BoM, devi specificare la versione di ogni libreria Firebase nella riga di dipendenza.
Tieni presente che, se utilizzi più librerie Firebase nella tua app, ti consigliamo vivamente di utilizzare la BoM per gestire le versioni delle librerie, in modo da garantire che tutte le versioni siano compatibili.
dependencies { // Add the dependencies for the Firebase Phone Number Verification libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv:16.0.0") }
2. Inizializza la libr0/} libreria in modalità di testFirebase PNV
Nella scheda Test della Firebase console Verifica del numero di telefono sezione, fai clic sul pulsante Genera token.
Nella tua app, inizializza il client Firebase PNV per utilizzare una sessione di test:
Kotlin
Importa la libreria:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationCrea una nuova istanza della classe
FirebasePhoneNumberVerificatione utilizza questa istanza per tutte le chiamate Firebase PNV. Il metodogetInstance()non restituisce un oggetto singleton, quindi devi conservarlo dopo averlo creato.val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)Attiva una sessione di test utilizzando il token generato nel passaggio precedente:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Devi chiamare questo metodo una sola volta su un'istanza di
FirebasePhoneNumberVerification; le chiamate successive genereranno un errore.
I token di test hanno un TTL di 7 giorni. Trascorso questo periodo, dovrai generare un nuovo token per attivare le sessioni di test. I token di test funzionano su dispositivi fisici ed emulatori, il che li rende ideali per la prototipazione dell'esperienza utente nella tua app o per i test in CI/CD.
3. Consigliato: controlla il supporto per Firebase PNV
Per aiutarti a determinare quando mostrare l'interfaccia utente per l'inserimento del numero o l'interfaccia utente esplicativa, al momento dell'avvio dell'app ti consigliamo di verificare se il dispositivo e la relativa scheda SIM supportano Firebase PNV. Si tratta di un controllo preliminare che non richiede il consenso dell'utente. Puoi utilizzare il risultato di questo test per decidere se avviare il flusso Firebase PNV o utilizzare un metodo alternativo di verifica del numero di telefono, ad esempio tramite SMS.
Per verificare la compatibilità del dispositivo, chiama il metodo getVerificationSupportInfo(). Mentre è attiva una sessione di test, questo metodo restituirà un elenco di tutti i token di test attivi nel tuo progetto. In un secondo momento, dopo aver messo in produzione l'app, questo metodo restituirà un risultato per ogni SIM nel dispositivo.
Kotlin
// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
.addOnSuccessListener { results ->
if (results.any { it.isSupported() }) {
// At least one SIM is supported; okay to call getVerifiedPhoneNumber
// (see the next step).
} else {
// No SIMs are supported, so fall back to SMS verification.
}
}
.addOnFailureListener { e ->
// Handle error.
}
4. Avvia il flusso di verifica
Per avviare il flusso Firebase PNV chiama il metodo getVerifiedPhoneNumber():
Kotlin
fpnv.getVerifiedPhoneNumber()
.addOnSuccessListener { result ->
// In test mode, this phone number will have a valid country code,
// followed by all zeros.
val phoneNumber = result.getPhoneNumber()
val token = result.getToken()
// Verification successful. Send token to your backend. (See Next Steps.)
}
.addOnFailureListener { e ->
// Handle failures, such as the user declining consent or a network error.
}
Il metodo getVerifiedPhoneNumber() esegue l'intero flusso di verifica del numero di telefono, tra cui:
- Utilizzo di Android Gestore delle credenziali per ottenere il consenso dell'utente a condividere il proprio numero di telefono.
- Invio della richiesta al backend Firebase PNV.
- Restituzione di un token contenente il numero di telefono verificato per il dispositivo (in un'app di produzione, è in questo momento che viene eseguita la fatturazione).
Passaggi successivi
Questa pagina descrive in dettaglio come eseguire l'integrazione con Firebase PNV utilizzando l'API unificata a chiamata singola. La chiamata di un singolo metodo gestisce l'intero flusso utente Firebase PNV, dall' ottenimento del consenso dell'utente all'esecuzione delle chiamate di rete necessarie al backend Firebase PNV. Utilizzando questo metodo, riduci i passaggi di integrazione a una singola chiamata al metodo.
Questa API è consigliata per la maggior parte degli sviluppatori. Tuttavia, se hai requisiti specifici non soddisfatti dalla libreria, consulta la pagina Personalizzare il Firebase Phone Number Verification flusso per informazioni sull' implementazione di un flusso personalizzato.
Se utilizzi il numero di telefono verificato al di fuori del client dell'app, devi passare il token anziché il numero di telefono stesso in modo da poterne verificare l'integrità quando lo utilizzi. Consulta Verificare i token.Firebase PNV
Dopo aver implementato e testato il flusso Firebase PNV e l'integrazione del backend dell'app, puoi mettere in produzione l'app per iniziare a ricevere numeri di telefono verificati reali. Consulta Eseguire l'upgrade alla modalità di produzione.