Ajouter la vérification du numéro de téléphone Firebase à votre application Android

1. Présentation

La vérification du numéro de téléphone Firebase (Firebase PNV ou FPNV) est une méthode plus rapide et plus sécurisée pour valider les numéros de téléphone. Contrairement à la validation par SMS, qui exige que les utilisateurs finaux reçoivent et saisissent un code à partir d'un message, la validation du numéro de téléphone Firebase fonctionne en obtenant le numéro de téléphone attribué à la carte SIM de l'appareil directement auprès de l'opérateur connecté, en un seul geste. Cela réduit les frictions pour l'utilisateur final, améliore la fiabilité en ne dépendant pas de la réception des messages SMS et élimine les vecteurs d'utilisation abusive couramment exploités lors de l'utilisation des SMS.

Boîte de dialogue pop-up Firebase PNV

Dans cet atelier de programmation, vous allez apprendre à créer un agent vocal d'IA "Restaurant Finder" qui utilise la vérification du numéro de téléphone Firebase pour valider le numéro de téléphone de l'utilisateur final avant de confirmer une réservation de table.

Prérequis

  • La dernière version d'Android Studio
  • Un appareil Android ou un émulateur avec le niveau d'API 26 ou supérieur

Points abordés

  • Configurez un projet Firebase avec Firebase PNV.
  • Utilisez Firebase PNV en mode test pour créer des prototypes sans compte de facturation ni carte SIM réelle.
  • Intégrez le SDK Firebase PNV dans une application Android.
  • Validez un numéro de téléphone à l'aide de l'API à appel unique.
  • (Facultatif) Préparez votre application pour la production.

2. Configurer l'exemple de projet

Créer un projet Firebase

  1. Connectez-vous à la console Firebase à l'aide de votre compte Google.
  2. Cliquez sur le bouton pour créer un projet, puis saisissez un nom de projet (par exemple, Tera Bites).
  3. Cliquez sur Continuer.
  4. Si vous y êtes invité, lisez et acceptez les Conditions d'utilisation de Firebase, puis cliquez sur Continuer.
  5. (Facultatif) Activez l'assistance IA dans la console Firebase (appelée "Gemini dans Firebase").
  6. Pour cet atelier de programmation, vous n'avez pas besoin de Google Analytics. Désactivez donc l'option Google Analytics.
  7. Cliquez sur Créer un projet, attendez que votre projet soit provisionné, puis cliquez sur Continuer.

Télécharger le code

Exécutez les commandes suivantes pour cloner l'exemple de code de cet atelier de programmation :

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

Ouvrez le répertoire firebase-pnv-android dans Android Studio.

Associer votre projet Android à Firebase

  1. Dans la console Firebase, au centre de la page de présentation du projet, cliquez sur l'icône Android ou sur Ajouter une application pour lancer le processus de création d'application.
  2. Dans le champ Nom du package Android, saisissez le nom du package de l'application : com.google.firebase.example.fpnv.
  3. Cliquez sur Enregistrer l'application.
  4. Suivez les instructions pour télécharger le fichier google-services.json et déplacez-le dans le répertoire app/ du code que vous venez de télécharger.
  5. Cliquez sur Suivant.

Activer Firebase AI Logic

Cet atelier de programmation utilise Firebase AI Logic pour alimenter l'agent vocal d'IA. Pour activer Firebase AI Logic dans votre projet Firebase :

  1. Dans la console Firebase, accédez à Services d'IA > Logique d'IA.
  2. Cliquez sur Commencer.
  3. Choisissez d'utiliser l'API Gemini Developer en cliquant sur Premiers pas avec cette API.
  4. Cliquez sur Activer l'API, puis confirmez.

3. Configurer Firebase PNV en mode test

Le mode test vous permet de valider un faux numéro de téléphone à l'aide d'un jeton de test pour le développement.

Participer au programme bêta public des services système de Google

Pour utiliser le mode test, enregistrez votre appareil de développement sur le canal bêta des services système Google :

  1. Accédez à la page Test d'applications Android – Services système Google.
  2. Cliquez sur Devenir un testeur.

Vous êtes désormais testeur bêta pour les services système de Google.

Ajouter la dépendance Firebase PNV

Dans la base de code de votre projet Android, les dépendances des bibliothèques Firebase PNV et Firebase AI Logic sont déjà définies dans le fichier /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" }

Dans le fichier Gradle de votre module (au niveau de l'application, généralement /app/build.gradle.kts), déclarez la dépendance pour la bibliothèque Firebase PNV :

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

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

  // ...
}

Générer un jeton de test

  1. Dans la console Firebase, accédez à Sécurité > Validation du numéro de téléphone.
  2. Sélectionnez l'onglet Test.
  3. Sélectionnez le code pays de votre numéro de téléphone de test, puis cliquez sur Générer un jeton.
  4. Copiez la chaîne de jeton générée.

Activer la session de test dans votre code

  1. De retour dans votre projet Android, ouvrez le fichier ChatViewModel.kt et recherchez la fonction verifyPhoneNumber().
  2. Initialisez le client FirebasePhoneNumberVerification et activez la session de test en collant le jeton que vous avez copié depuis la 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. Exécuter l'application

Maintenant que vous avez implémenté Firebase PNV, il est temps d'exécuter l'application.

  1. Dans Android Studio, cliquez sur Run (Exécuter) pour lancer l'application dans l'émulateur Android ou sur un appareil physique.
  2. Une fois l'application lancée, un écran semblable à celui-ci devrait s'afficher :
    Application Firebase PNV en cours d'exécution
  3. Cliquez sur Démarrer l'appel, puis présentez-vous.
    Application Firebase PNV en cours d'exécution
  4. L'agent vocal IA devrait vous demander des informations sur la réservation. Une fois que vous avez fourni les informations, vous devriez être invité à regarder votre écran pour valider votre numéro de téléphone :
    Application Firebase PNV en cours d'exécution
  5. Une fois l'opération terminée, l'écran de validation s'affiche :
    Application Firebase PNV en cours d'exécution
  6. Cliquez sur Mettre fin à la session pour terminer l'appel.

5. (Facultatif) Passer au mode Production

Passer à un forfait Firebase supérieur

Pour utiliser Firebase PNV en mode production, votre projet Firebase doit être associé à un compte de facturation Cloud et utiliser le forfait Blaze avec paiement à l'usage.

  • Un compte de facturation Cloud nécessite un mode de paiement, comme une carte de crédit.
  • Lors de promotions spéciales ou si vous effectuez cet atelier de programmation dans le cadre d'un événement, des crédits Google Cloud peuvent être disponibles (par exemple, la bannière en haut de cette page).
  • Si vous débutez avec Firebase et Google Cloud, vérifiez si vous êtes éligible à un crédit de 300 $ et à un compte de facturation Cloud pour un essai sans frais.

Pour passer à la formule Blaze, procédez comme suit :

  1. Dans la console Firebase, sélectionnez Passer à une formule supérieure.
  2. Sélectionnez le forfait Blaze. Suivez les instructions à l'écran pour associer un compte de facturation Cloud à votre projet.
    • Si vous avez demandé des crédits Google Cloud pour cet atelier de programmation, le compte de facturation s'appelle probablement Google Cloud Platform Trial Billing Account ou My Billing Account.
    • Si vous avez dû créer un compte de facturation Cloud lors de cette mise à niveau, vous devrez peut-être revenir au processus de mise à niveau dans la console Firebase pour la finaliser.

Activer le mode production Firebase PNV

  1. Ajoutez l'empreinte SHA-256 de votre application :
    1. Dans la console Firebase, accédez à Paramètres > Général.
    2. Faites défiler l'écran vers le bas jusqu'à la carte Vos applications, puis recherchez votre application Android.
    3. Dans le champ Empreintes de certificat SHA, ajoutez votre empreinte SHA-256. Pour savoir comment obtenir l'empreinte SHA-256 de votre application, consultez Authentifier votre client.
  2. Revenez à Sécurité > Validation du numéro de téléphone.
  3. Cliquez sur Configurer la production. Vous verrez la liste des applications de votre projet qui seront activées pour la production et vous pourrez en ajouter d'autres.
  4. Envoyez votre application pour la validation de la marque OAuth et l'examen des règles de confidentialité. Google Cloud vérifiera que vous identifiez clairement et précisément votre application et ses règles de confidentialité.
    Pour lancer l'examen, cliquez sur Poursuivre dans Google Cloud. Ce processus peut parfois prendre 24 heures ou plus.
  5. En attendant la validation de votre marque, consultez les conditions spécifiques au service Firebase PNV, disponibles dans la console.
  6. Une fois que votre application a passé la validation de la marque, cochez la case pour confirmer que vous acceptez les conditions d'utilisation spécifiques au service, puis cliquez sur Activer.

Firebase PNV est désormais actif en mode production.

Supprimer le code de test

Dans votre projet Android, supprimez la ligne fpnv.enableTestSession(...).

Migrer Firebase AI Logic pour utiliser Vertex AI

Si vous utilisez des crédits dans votre compte de facturation, vous ne pourrez pas les utiliser avec l'API Gemini Developer. Toutefois, vous pouvez les utiliser avec l'API Vertex AI Gemini.

  1. Dans la console Firebase, accédez à Services d'IA > Logique d'IA.
  2. Cliquez sur Paramètres.
  3. Sous API Vertex AI Gemini, cliquez sur Activer.
  4. Dans votre projet Android, modifiez l'initialisation de Firebase AI Logic pour utiliser le backend Vertex AI au lieu de Google AI :
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. Félicitations !

Vous avez intégré avec succès la vérification du numéro de téléphone Firebase à une application Android.

Points abordés

  • Configurer un projet pour Firebase PNV
  • Utiliser le mode test pour le prototypage.
  • Implémenter l'API Firebase PNV à appel unique.
  • Passer au mode production

Étapes suivantes