1. Panoramica
La verifica del numero di telefono di Firebase (Firebase PNV o FPNV) è un metodo più rapido e sicuro per verificare i numeri di telefono. A differenza della verifica basata su SMS, che richiede agli utenti finali di ricevere e inserire un codice da un messaggio di testo, la verifica del numero di telefono di Firebase funziona ottenendo il numero di telefono assegnato alla SIM nel dispositivo direttamente dall'operatore connesso con un solo tocco. In questo modo si riducono gli attriti per l'utente finale, si migliora l'affidabilità non dipendendo dalla ricezione di messaggi SMS e si eliminano i vettori di abuso comunemente sfruttati quando si utilizzano gli SMS.

In questo codelab imparerai a creare un agente vocale AI "Restaurant Finder" che utilizza la verifica del numero di telefono di Firebase per verificare il numero di telefono dell'utente finale prima di confermare la prenotazione di un tavolo.
Prerequisiti
- Ultima versione di Android Studio
- Dispositivo Android o emulatore con livello API 26 o superiore
Obiettivi didattici
- Configura un progetto Firebase con Firebase PNV.
- Utilizza Firebase PNV in modalità di test per creare prototipi senza un account di fatturazione o una SIM reale.
- Integra l'SDK Firebase PNV in un'app per Android.
- Verifica un numero di telefono utilizzando l'API per chiamata singola.
- (Facoltativo) Prepara la tua app per la produzione.
2. Configurare il progetto di esempio
Crea un progetto Firebase
- Accedi alla console Firebase utilizzando il tuo Account Google.
- Fai clic sul pulsante per creare un nuovo progetto, quindi inserisci un nome per il progetto (ad esempio
Tera Bites).
- Fai clic su Continua.
- Se richiesto, leggi e accetta i termini di Firebase, quindi fai clic su Continua.
- (Facoltativo) Attiva l'assistenza AI nella console Firebase (denominata "Gemini in Firebase").
- Per questo codelab non hai bisogno di Google Analytics, quindi disattiva l'opzione Google Analytics.
- Fai clic su Crea progetto, attendi il provisioning del progetto e poi fai clic su Continua.
Scarica il codice
Esegui questi comandi per clonare il codice campione per questo codelab:
git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android
Apri la directory firebase-pnv-android in Android Studio.
Collegare il progetto Android a Firebase
- Nella console Firebase, al centro della pagina di riepilogo del progetto, fai clic sull'icona Android o su Aggiungi app per avviare il flusso di lavoro di creazione dell'app.
- Nel campo Nome pacchetto Android, inserisci il nome del pacchetto dell'app:
com.google.firebase.example.fpnv. - Fai clic su Registra app.
- Segui le istruzioni per scaricare il file
google-services.jsone spostalo nella directoryapp/del codice che hai appena scaricato. - Fai clic su Avanti.
Attivare Firebase AI Logic
Questo codelab utilizza Firebase AI Logic per alimentare l'agente vocale AI. Per attivare Firebase AI Logic nel tuo progetto Firebase:
- Nella console Firebase, vai a Servizi AI > AI Logic.
- Fai clic su Inizia.
- Scegli di utilizzare l'API Gemini Developer facendo clic su Inizia a utilizzare questa API.
- Fai clic su Abilita API e conferma.
3. Configurare Firebase PNV in modalità test
La modalità di test ti consente di verificare un numero di telefono "fittizio" utilizzando un token di test per lo sviluppo.
Partecipare al programma beta pubblico dei servizi di sistema di Google
Registra il tuo dispositivo di sviluppo nel canale beta dei servizi di sistema Google per utilizzare la modalità di test:
- Vai alla pagina Test app per Android - Servizi di sistema Google.
- Fai clic su Diventa un tester.
Ora sei un beta tester dei servizi di sistema di Google.
Aggiungi la dipendenza Firebase PNV
Nel codebase del tuo progetto Android, le dipendenze delle librerie Firebase PNV e Firebase AI Logic sono già definite nel file :
[versions]
# ... other dependencies
firebaseBom = "34.12.0"
[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }
Nel file Gradle del modulo (a livello di app, di solito ), dichiara la dipendenza per la libreria Firebase PNV:
dependencies {
// ... other dependencies
implementation(platform(libs.firebase.bom))
implementation(libs.firebase.ai.logic)
// Add this line
implementation(libs.firebase.pnv)
// ...
}
Generare un token di test
- Nella console Firebase, vai a Sicurezza > Verifica telefono.
- Seleziona la scheda Test.
- Seleziona il codice paese per il numero di telefono di test e fai clic su Genera token.
- Copia la stringa del token generata.
Attiva la sessione di test nel codice
- Nel progetto Android, apri il file
ChatViewModel.kte trova la funzioneverifyPhoneNumber(). - Inizializza il client
FirebasePhoneNumberVerificatione attiva la sessione di test incollando il token che hai copiato dalla console Firebase:suspend fun verifyPhoneNumber(): String { // Initialize Firebase Phone Number Verification val fpnv = FirebasePhoneNumberVerification.getInstance(context!!) // Enable Test session fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP") // Trigger the Firebase PNV pop up val response = fpnv.getVerifiedPhoneNumber().await() val phoneNumber = response.getPhoneNumber() return phoneNumber }
4. Esegui l'app
Ora che hai implementato Firebase PNV, è il momento di eseguire l'app.
- In Android Studio, fai clic su Esegui per avviare l'app nell'emulatore Android o su un dispositivo fisico.
- Una volta avviata l'app, dovresti visualizzare una schermata simile a questa:

- Fai clic su Avvia chiamata e presentati.

- L'agente vocale AI dovrebbe chiederti i dettagli della prenotazione. Una volta forniti i dettagli, ti verrà chiesto di guardare lo schermo per verificare il tuo numero di telefono:

- Al termine, verrà visualizzata una schermata di verifica completata:

- Fai clic su Termina sessione per terminare la chiamata.
5. (Facoltativo) Esegui l'upgrade alla modalità Produzione
Esegui l'upgrade del piano tariffario Firebase
Per utilizzare Firebase PNV in modalità di produzione, il tuo progetto Firebase deve essere incluso nel piano tariffario con pagamento a consumo (Blaze), il che significa che è collegato a un account di fatturazione Cloud.
- Un account di fatturazione Cloud richiede un metodo di pagamento, ad esempio una carta di credito.
- Se non hai mai utilizzato Firebase e Google Cloud, verifica se hai diritto a un credito di 300$e a un account di fatturazione Cloud per la prova senza costi.
- Se stai svolgendo questo codelab nell'ambito di un evento, chiedi all'organizzatore se sono disponibili crediti Cloud.
Per eseguire l'upgrade del progetto al piano Blaze:
- Nella console Firebase, seleziona l'opzione per eseguire l'upgrade del piano.
- Seleziona il piano Blaze. Segui le istruzioni sullo schermo per collegare un account di fatturazione Cloud al tuo progetto.
Se hai dovuto creare un account di fatturazione Cloud nell'ambito di questo upgrade, potresti dover tornare al flusso di upgrade nella console Firebase per completarlo.
Attivare la modalità di produzione PNV di Firebase
- Aggiungi l'impronta SHA-256 della tua app:
- Nella console Firebase, vai alla pagina Impostazioni > Generali.
- Scorri verso il basso fino alla scheda Le tue app e trova l'app per Android.
- Nel campo Impronte digitali certificato SHA, aggiungi l'impronta SHA-256. Consulta la sezione Autenticazione del client per informazioni dettagliate su come ottenere l'impronta SHA-256 della tua app.
- Torna a Sicurezza > Verifica telefonica.
- Fai clic su Configura produzione. Vedrai un elenco delle app nel tuo progetto che verranno attivate per la produzione e avrai la possibilità di aggiungere altre app.
- Invia la tua app per la verifica del brand OAuth e una revisione delle norme sulla privacy. Google Cloud verificherà che tu identifichi in modo chiaro e accurato la tua app e le relative norme sulla privacy.
Per iniziare la revisione, fai clic su Procedi in Google Cloud. A volte questa procedura può richiedere 24 ore o più. - Mentre aspetti la verifica del brand, esamina i termini specifici del servizio Firebase PNV, a cui è presente un link nella console.
- Dopo che l'app ha superato la verifica del brand, seleziona la casella per accettare i termini specifici del servizio, quindi fai clic su Attiva.
Firebase PNV è ora attivo in modalità di produzione.
Rimuovere il codice di test
Nel progetto Android, elimina la riga fpnv.enableTestSession(...).
Esegui la migrazione di Firebase AI Logic per utilizzare Vertex AI
Se utilizzi crediti nel tuo account di fatturazione, non potrai utilizzarli con l'API Gemini Developer. ma puoi utilizzarli con l'API Gemini di Vertex AI.
- Nella console Firebase, vai a Servizi AI > AI Logic.
- Fai clic su Impostazioni.
- In API Vertex AI Gemini, fai clic su Abilita.
- Nel tuo progetto Android, modifica l'inizializzazione di Firebase AI Logic in modo che utilizzi il backend Vertex AI anziché Google AI:
val model = Firebase.ai( backend = GenerativeBackend.vertexAI(location = "us-central1") ).liveModel( modelName = "gemini-live-2.5-flash-native-audio", // ... other configuration )
6. Complimenti!
Hai integrato correttamente la verifica del numero di telefono di Firebase in un'app per Android.
Argomenti trattati
- Configurazione di un progetto per Firebase PNV.
- Utilizzo della modalità di test per la prototipazione.
- Implementazione dell'API di verifica del numero di telefono Firebase a chiamata singola.
- Eseguendo l'upgrade alla modalità di produzione.
Passaggi successivi
- Scopri come personalizzare il flusso di verifica dell'identità di Firebase.
- Scopri come verificare i token PNV di Firebase.
- Controlla i prezzi e le quote.