Adicionar a verificação de número de telefone do Firebase ao seu app Android

1. Visão geral

A verificação de número de telefone do Firebase (PNV do Firebase ou FPNV) é um método mais rápido e seguro para verificar números de telefone. Ao contrário da verificação por SMS, que exige que os usuários finais recebam e insiram um código de uma mensagem de texto, o PNV do Firebase funciona recebendo o número de telefone atribuído ao chip no dispositivo diretamente da operadora conectada com um único toque. Isso reduz o atrito para o usuário final, melhora a confiabilidade por não depender da entrega de mensagens SMS e elimina vetores de abuso comumente explorados ao usar SMS.

Caixa de diálogo pop-up do PNV do Firebase

Neste codelab, você vai aprender a criar um agente de voz de IA "Restaurant Finder" que usa a verificação de número de telefone do Firebase para confirmar o número de telefone do usuário final antes de confirmar uma reserva de mesa.

Pré-requisitos

  • Versão mais recente do Android Studio
  • Dispositivo Android ou emulador com o nível 26 da API ou mais recente

O que você vai aprender

  • Configurar um projeto do Firebase com o PNV do Firebase.
  • Usar o PNV do Firebase no modo de teste para criar protótipos sem uma conta de faturamento ou um chip real.
  • Integrar o SDK do PNV do Firebase a um app Android.
  • Verificar um número de telefone usando a API de chamada única.
  • (Opcional) Preparar seu app para produção.

2. Configurar o projeto de amostra

Criar um projeto do Firebase

  1. Faça login no console do Firebase usando sua Conta do Google.
  2. Clique no botão para criar um novo projeto e insira um nome (por exemplo, Tera Bites).
  3. Clique em Continuar.
  4. Se solicitado, leia e aceite os Termos do Firebase e clique em Continuar.
  5. (Opcional) Ative a assistência de IA no console do Firebase (chamada de "Gemini no Firebase").
  6. Neste codelab, você não precisa do Google Analytics. Portanto, desative a opção do Google Analytics.
  7. Clique em Criar projeto, aguarde o provisionamento do projeto e clique em Continuar.

Fazer o download do código

Execute os comandos a seguir para clonar o exemplo de código para este codelab:

git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android

Abra o diretório firebase-pnv-android no Android Studio.

Conectar seu Projeto do Android ao Firebase

  1. No console do Firebase, no centro da página de visão geral do projeto, clique no ícone do Android ou em Adicionar app para iniciar o fluxo de trabalho de criação de apps.
  2. No campo Nome do pacote Android, insira o nome do pacote do app: com.google.firebase.example.fpnv.
  3. Clique em Registrar app.
  4. Siga as instruções para fazer o download do arquivo google-services.json e movê-lo para o diretório app/ do código que você acabou de baixar.
  5. Clique em Próxima.

Ativar o Firebase AI Logic

Este codelab usa o Firebase AI Logic para ativar o agente de voz de IA. Para ativar o Firebase AI Logic no seu projeto do Firebase:

  1. No console do Firebase, acesse Serviços de IA > Lógica de IA.
  2. Clique em Começar.
  3. Escolha usar a API Gemini Developer clicando em Começar a usar essa API.
  4. Clique em Ativar API e confirme.

3. Configurar o PNV do Firebase no modo de teste

O modo de teste permite verificar um número de telefone "falso" usando um token de teste para desenvolvimento.

Participar do programa Beta público dos serviços do sistema do Google

Inscreva seu dispositivo de desenvolvimento no canal Beta dos serviços do sistema do Google para usar o modo de teste:

  1. Acesse a página Teste de apps Android - Serviços do sistema do Google.
  2. Clique em Participar dos testes.

Agora você é um testador Beta dos serviços do sistema do Google.

Adicionar a dependência do PNV do Firebase

No código-fonte do seu projeto Android, as dependências das bibliotecas do PNV do Firebase e do Firebase AI Logic já estão definidas no arquivo /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" }

No arquivo do Gradle (geralmente /app/build.gradle.kts) do módulo (nível do app), declare a dependência da biblioteca do PNV do Firebase:

dependencies {
  // ... other dependencies
  implementation(platform(libs.firebase.bom))
  implementation(libs.firebase.ai.logic)

  // Add this line
  implementation(libs.firebase.pnv)

  // ...
}

Gerar um token de teste

  1. No console do Firebase, acesse Segurança > Verificação de telefone.
  2. Selecione a guia Teste.
  3. Selecione o código do país do seu número de telefone de teste e clique em Gerar token.
  4. Copie a string de token gerada.

Ativar a sessão de teste no seu código

  1. De volta ao seu Projeto do Android, abra o arquivo ChatViewModel.kt e encontre a função verifyPhoneNumber().
  2. Inicialize o cliente FirebasePhoneNumberVerification e ative a sessão de teste, colando o token que você copiou do console do 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. Executar o app

Agora que você implementou o PNV do Firebase, é hora de executar o app.

  1. No Android Studio, clique em Executar para iniciar o app no emulador Android ou em um dispositivo físico.
  2. Quando o app for iniciado, você verá uma tela como esta:
    App PNV do Firebase em execução
  3. Clique em Iniciar chamada e se apresente.
    App PNV do Firebase em execução
  4. O agente de voz de IA vai pedir detalhes da reserva. Depois de fornecer os detalhes, ele vai pedir que você olhe para a tela para verificar seu número de telefone:
    App PNV do Firebase em execução
  5. Depois disso, você verá uma tela de verificação concluída:
    App PNV do Firebase em execução
  6. Clique em Encerrar sessão para terminar a chamada.

5. (Opcional) Fazer upgrade para o modo de produção

Fazer upgrade do plano de preços do Firebase

Para usar o PNV do Firebase no modo de produção, seu projeto do Firebase precisa estar no plano de preços de pagamento por uso (Blaze), o que significa que ele está vinculado a uma conta do Cloud Billing.

  • Uma conta do Cloud Billing exige uma forma de pagamento, como cartão de crédito.
  • Se você ainda não conhece o Firebase e o Google Cloud, confira se tem qualificação para receber um crédito de US$300 e uma conta do Cloud Billing de teste sem custo financeiro.
  • Se você estiver fazendo este codelab como parte de um evento, pergunte ao organizador se há créditos do Cloud disponíveis.

Para fazer upgrade do seu projeto para o plano Blaze, siga estas etapas:

  1. No console do Firebase, selecione Fazer upgrade do seu plano.
  2. Selecione o plano Blaze. Siga as instruções na tela para vincular uma conta do Cloud Billing ao seu projeto.
    Se você precisou criar uma conta do Cloud Billing como parte desse upgrade, talvez seja necessário voltar para o fluxo de upgrade no console do Firebase para concluir o upgrade.

Ativar o modo de produção do PNV do Firebase

  1. Adicione a impressão digital SHA-256 do seu app:
    1. No console do Firebase, acesse a página Configurações > Geral.
    2. Role a tela para baixo até o card Seus apps e encontre seu app Android.
    3. No campo Impressões digitais do certificado SHA, adicione sua impressão digital SHA-256. Consulte Como autenticar seu cliente para mais detalhes sobre como conseguir a impressão digital SHA-256.
  2. Volte para Segurança > Verificação de telefone.
  3. Clique em Configurar produção. Você verá uma lista dos apps no seu projeto que serão ativados para produção e terá a oportunidade de adicionar outros apps.
  4. Envie seu app para verificação da marca OAuth e uma análise de conformidade com a política de privacidade. O Google Cloud vai verificar se você está identificando seu app e a política de privacidade dele de forma clara e precisa.
    Para iniciar a análise, clique em Continuar no Google Cloud. Esse processo pode levar 24 horas ou mais.
  5. Enquanto aguarda a verificação da marca, revise os termos específicos do serviço do PNV do Firebase, que estão vinculados ao console.
  6. Depois que o app passar pela verificação da marca, marque a caixa para reconhecer os termos específicos do serviço e clique em Ativar.

O PNV do Firebase agora está ativo no modo de produção.

Remover código de teste

No seu Projeto do Android, exclua a linha fpnv.enableTestSession(...).

Migrar o Firebase AI Logic para usar a Vertex AI

Se você estiver usando créditos na sua conta de faturamento, não será possível usá-los com a API Gemini Developer. Mas você pode usá-los com a API Vertex AI Gemini.

  1. No console do Firebase, acesse Serviços de IA > Lógica de IA.
  2. Clique em Configurações.
  3. Em API Vertex AI Gemini, clique em Ativar.
  4. No seu projeto Android, mude a inicialização do Firebase AI Logic para usar o back-end da Vertex AI em vez da IA do Google:
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. Parabéns!

Você integrou com êxito a verificação de número de telefone do Firebase a um app Android.

O que vimos

  • Configurar um projeto para o PNV do Firebase.
  • Usar o modo de teste para criar protótipos.
  • Implementar a API de chamada única do PNV do Firebase.
  • Fazer upgrade para o modo de produção.

Próximas etapas