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, Firebase PNV funziona recuperando il numero di telefono assegnato alla SIM nel dispositivo direttamente dall'operatore connesso con un solo tocco. Ciò riduce gli attriti per l'utente finale, migliora l'affidabilità non dipendendo dalla consegna dei messaggi SMS ed elimina i vettori di abuso comunemente sfruttati quando si utilizzano gli SMS.

Finestra di dialogo popup di Firebase PNV

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 o emulatore Android con livello API 26 o superiore

Obiettivi didattici

  • Configurare un progetto Firebase con Firebase PNV.
  • Utilizzare Firebase PNV in modalità di test per creare prototipi senza un account di fatturazione o una SIM reale.
  • Integrare l'SDK Firebase PNV in un'app per Android.
  • Verificare un numero di telefono utilizzando l'API a chiamata singola.
  • (Facoltativo) Preparare l'app per la produzione.

2. Configurare il progetto di esempio

Creare 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 del 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) Abilita 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, quindi fai clic su Continua.

Scaricare il codice

Esegui i seguenti comandi per clonare il codice di esempio 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 appena scaricato.
  5. Fai clic su Avanti.

Abilitare Firebase AI Logic

Questo codelab utilizza Firebase AI Logic per alimentare l'agente vocale AI. Per abilitare 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. Continua con i passaggi rimanenti del flusso di lavoro di configurazione guidata.

3. Configurare Firebase PNV in modalità di test

La modalità di test 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 di Google per utilizzare la modalità di test:

  1. Vai alla pagina Test delle app per Android - Servizi di sistema di Google.
  2. Fai clic su Diventa un tester.

Ora sei un beta tester dei servizi di sistema di Google.

Aggiungere la dipendenza Firebase PNV

Nella base di codice del tuo progetto Android, le dipendenze per le librerie Firebase PNV e Firebase AI Logic sono già definite nel file /gradle/versions.toml:

[versions]
# ... other dependencies
firebaseBom = "34.13.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, in genere /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 del 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.

Abilitare la sessione di test nel codice

  1. Torna al progetto Android, apri il file ChatViewModel.kt e trova la funzione verifyPhoneNumber().
  2. Inizializza il client FirebasePhoneNumberVerification e abilita 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()
    
        // Enable Test session
        fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP")
    
        // Trigger the Firebase PNV pop up
        val response = fpnv.getVerifiedPhoneNumber(context!!).await()
        val phoneNumber = response.getPhoneNumber()
    
        return phoneNumber
    }
    

4. Eseguire 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 vedere una schermata simile a questa:
    Esecuzione dell'app Firebase PNV
  3. Fai clic su Avvia chiamata e presentati.
    Esecuzione dell'app Firebase PNV
  4. L'agente vocale AI dovrebbe chiederti i dettagli della prenotazione. Una volta forniti i dettagli, dovrebbe chiederti di guardare lo schermo per verificare il tuo numero di telefono:
    Esecuzione dell'app Firebase PNV
  5. Al termine, vedrai una schermata di verifica completata:
    Esecuzione dell'app Firebase PNV
  6. Fai clic su Termina sessione per terminare la chiamata.

5. (Facoltativo) Eseguire l'upgrade alla modalità di produzione

Eseguire l'upgrade del piano tariffario di Firebase

Per utilizzare Firebase PNV in modalità di produzione, il 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.
  • Durante le promozioni speciali o se stai seguendo questo codelab nell'ambito di un evento, potrebbero essere disponibili crediti Google Cloud.
  • 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.

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 stai utilizzando i crediti Google Cloud per questo codelab, l'account di fatturazione è probabilmente denominato Google Cloud Platform Trial Billing Account o My Billing Account.
    • 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 completare l'upgrade.

Abilitare la modalità di produzione di Firebase PNV

  1. Aggiungi la fingerprint 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 la tua app per Android.
    3. Nel campo Fingerprint del certificato SHA, aggiungi la fingerprint SHA-256. Per informazioni su come ottenere la fingerprint SHA-256 della tua app, consulta Autenticare il client.
  2. Torna a Sicurezza > Verifica del telefono.
  3. Fai clic su Configura produzione. Verrà visualizzato un elenco delle app nel tuo progetto che verranno abilitate 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 stia identificando chiaramente e con precisione 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 è collegato 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 Abilita.

Firebase PNV è ora attivo in modalità di produzione.

Rimuovere il codice di test

Nel progetto Android, elimina la riga fpnv.enableTestSession(...).

Eseguire la migrazione di Firebase AI Logic per utilizzare Vertex AI

Se utilizzi i crediti nel tuo account di fatturazione, non potrai utilizzarli con l'API Gemini Developer. Tuttavia, 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 Gemini di Vertex AI, fai clic su Abilita.
  4. Nel progetto Android, modifica l'inizializzazione di Firebase AI Logic in modo che utilizzi il backend di 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

  • Configurare un progetto per Firebase PNV.
  • Utilizzare la modalità di test per la creazione di prototipi.
  • Implementare l'API a chiamata singola di Firebase PNV.
  • Eseguire l'upgrade alla modalità di produzione.

Passaggi successivi