Aggiungi la verifica del numero di telefono Firebase alla tua app per Android

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.

Finestra di dialogo popup PNV di Firebase

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

  1. Accedi alla console Firebase utilizzando il tuo Account Google.
  2. Fai clic sul pulsante per creare un nuovo progetto, quindi inserisci un nome per il progetto (ad esempio Tera Bites).
  3. Fai clic su Continua.
  4. Se richiesto, leggi e accetta i termini di Firebase, quindi fai clic su Continua.
  5. (Facoltativo) Attiva l'assistenza AI nella console Firebase (denominata "Gemini in Firebase").
  6. Per questo codelab non hai bisogno di Google Analytics, quindi disattiva l'opzione Google Analytics.
  7. 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

  1. 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.
  2. Nel campo Nome pacchetto Android, inserisci il nome del pacchetto dell'app: com.google.firebase.example.fpnv.
  3. Fai clic su Registra app.
  4. Segui le istruzioni per scaricare il file google-services.json e spostalo nella directory app/ del codice che hai appena scaricato.
  5. 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:

  1. Nella console Firebase, vai a Servizi AI > AI Logic.
  2. Fai clic su Inizia.
  3. Scegli di utilizzare l'API Gemini Developer facendo clic su Inizia a utilizzare questa API.
  4. 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:

  1. Vai alla pagina Test app per Android - Servizi di sistema Google.
  2. 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 /gradle/versions.toml:

[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 /app/build.gradle.kts), 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

  1. Nella console Firebase, vai a Sicurezza > Verifica telefono.
  2. Seleziona la scheda Test.
  3. Seleziona il codice paese per il numero di telefono di test e fai clic su Genera token.
  4. Copia la stringa del token generata.

Attiva la sessione di test nel codice

  1. Nel progetto Android, apri il file ChatViewModel.kt e trova la funzione verifyPhoneNumber().
  2. Inizializza il client FirebasePhoneNumberVerification e 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.

  1. In Android Studio, fai clic su Esegui per avviare l'app nell'emulatore Android o su un dispositivo fisico.
  2. Una volta avviata l'app, dovresti visualizzare una schermata simile a questa:
    App Firebase PNV in esecuzione
  3. Fai clic su Avvia chiamata e presentati.
    App Firebase PNV in esecuzione
  4. 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:
    App Firebase PNV in esecuzione
  5. Al termine, verrà visualizzata una schermata di verifica completata:
    App Firebase PNV in esecuzione
  6. 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.

Per eseguire l'upgrade del progetto al piano Blaze:

  1. Nella console Firebase, seleziona l'opzione per eseguire l'upgrade del piano.
  2. 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

  1. Aggiungi l'impronta SHA-256 della tua app:
    1. Nella console Firebase, vai alla pagina Impostazioni > Generali.
    2. Scorri verso il basso fino alla scheda Le tue app e trova l'app per Android.
    3. 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.
  2. Torna a Sicurezza > Verifica telefonica.
  3. 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.
  4. 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ù.
  5. Mentre aspetti la verifica del brand, esamina i termini specifici del servizio Firebase PNV, a cui è presente un link nella console.
  6. 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.

  1. Nella console Firebase, vai a Servizi AI > AI Logic.
  2. Fai clic su Impostazioni.
  3. In API Vertex AI Gemini, fai clic su Abilita.
  4. 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