Cette page explique comment commencer à utiliser Firebase Phone Number Verification dans une application Android. Pour obtenir une description générale de cette fonctionnalité, consultez la présentation.
En suivant les étapes décrites sur cette page, vous pouvez rapidement commencer à implémenter les parcours utilisateur pour Firebase PNV. À des fins de test, vous allez générer un jeton réservé aux tests qui correspond à un faux numéro de téléphone. Grâce à ce jeton de test, vous pouvez commencer à ajouter Firebase PNV à votre application sans avoir besoin d'un compte de facturation ni d'un appareil avec une véritable carte SIM.
Une fois que vous êtes satisfait de l'expérience utilisateur Firebase PNV dans votre application, vous pouvez suivre quelques étapes supplémentaires pour la mettre en production.
Avant de commencer
Ajoutez Firebase à votre projet Android si vous ne l'avez pas déjà fait.
Pour utiliser le mode test, l'appareil sur lequel votre application s'exécute doit être inscrit au programme bêta public des services système Google. Consultez la page associée pour découvrir comment vous inscrire.
1. Ajouter la bibliothèque Firebase PNV à votre application
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement<project>/<app-module>/build.gradle.kts ou <project>/<app-module>/build.gradle), ajoutez la dépendance pour la bibliothèque Firebase Phone Number Verification pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le versionnage de la bibliothèque.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.12.0")) // Add the dependencies for the Firebase Phone Number Verification libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv") }
En utilisant la Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajoutez les dépendances de la bibliothèque Firebase sans utiliser BoM.
Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier la version de chaque bibliothèque Firebase sur sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions des bibliothèques, ce qui garantit que toutes les versions sont compatibles.
dependencies { // Add the dependencies for the Firebase Phone Number Verification libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-pnv:16.0.0") }
2. Initialiser la bibliothèque Firebase PNV en mode test
Dans l'onglet Test de la section Validation du numéro de téléphone de la console Firebase, cliquez sur le bouton Générer un jeton.
Dans votre application, initialisez le client Firebase PNV pour utiliser une session de test :
Kotlin
Importez la bibliothèque :
import com.google.firebase.pnv.FirebasePhoneNumberVerificationCréez une instance de la classe
FirebasePhoneNumberVerificationet utilisez-la pour tous les appels Firebase PNV. La méthodegetInstance()ne renvoie pas d'objet singleton. Vous devez donc le conserver après l'avoir créé.val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)Activez une session de test à l'aide du jeton que vous avez généré à l'étape précédente :
fpnv.enableTestSession("COPIED_TOKEN_STRING")Vous ne devez appeler cette méthode qu'une seule fois sur une instance de
FirebasePhoneNumberVerification. Les appels suivants généreront une erreur.
Les jetons de test ont une durée de vie de sept jours. Passé ce délai, vous devrez générer un nouveau jeton pour activer les sessions de test. Les jetons de test fonctionnent sur les appareils physiques et les émulateurs. Ils sont donc idéaux pour prototyper l'UX de votre application ou effectuer des tests dans CI/CD.
3. Recommandation : Vérifiez si Firebase PNV est compatible.
Pour vous aider à déterminer quand afficher l'interface utilisateur de saisie de numéro ou l'interface utilisateur d'explication, il est recommandé de vérifier au lancement de l'application si l'appareil et sa carte SIM sont compatibles avec Firebase PNV. Il s'agit d'une vérification préalable qui ne nécessite pas le consentement de l'utilisateur. Vous pouvez utiliser le résultat de ce test pour décider de lancer le flux Firebase PNV ou d'utiliser une autre méthode de validation du numéro de téléphone, comme un SMS.
Pour vérifier la compatibilité de l'appareil, appelez la méthode getVerificationSupportInfo(). Tant qu'une session de test est active, cette méthode renvoie la liste de tous les jetons de test actifs dans votre projet. Plus tard, une fois que vous aurez mis votre application en production, cette méthode renverra un résultat pour chaque carte SIM de l'appareil.
Kotlin
// Check all SIMs for support.
fpnv.getVerificationSupportInfo()
.addOnSuccessListener { results ->
if (results.any { it.isSupported() }) {
// At least one SIM is supported; okay to call getVerifiedPhoneNumber
// (see the next step).
} else {
// No SIMs are supported, so fall back to SMS verification.
}
}
.addOnFailureListener { e ->
// Handle error.
}
4. Lancer le processus de validation
Pour lancer le flux Firebase PNV, appelez la méthode getVerifiedPhoneNumber() :
Kotlin
fpnv.getVerifiedPhoneNumber()
.addOnSuccessListener { result ->
// In test mode, this phone number will have a valid country code,
// followed by all zeros.
val phoneNumber = result.getPhoneNumber()
val token = result.getToken()
// Verification successful. Send token to your backend. (See Next Steps.)
}
.addOnFailureListener { e ->
// Handle failures, such as the user declining consent or a network error.
}
La méthode getVerifiedPhoneNumber() exécute l'intégralité du flux de validation du numéro de téléphone, y compris :
- Utilisation du Credential Manager Android pour obtenir le consentement de l'utilisateur à partager son numéro de téléphone.
- Envoyez la requête au backend Firebase PNV.
- Renvoyer un jeton contenant le numéro de téléphone validé pour l'appareil (dans une application de production, c'est à ce moment-là que la facturation a lieu).
Étapes suivantes
Cette page explique comment intégrer Firebase PNV à l'aide de l'API unifiée à appel unique. L'appel d'une seule méthode gère l'intégralité du flux utilisateur Firebase PNV, de l'obtention du consentement de l'utilisateur à l'exécution des appels réseau nécessaires au backend Firebase PNV. Cette méthode permet de réduire les étapes d'intégration à un seul appel de méthode.
Cette API est recommandée pour la plupart des développeurs. Toutefois, si vous avez des exigences spécifiques auxquelles la bibliothèque ne répond pas, consultez la page Personnaliser le flux Firebase Phone Number Verification pour savoir comment implémenter un flux personnalisé.
Si vous utilisez le numéro de téléphone validé en dehors du client de l'application, vous devez transmettre le jeton au lieu du numéro de téléphone lui-même afin de pouvoir vérifier son intégrité lorsque vous l'utilisez. Consultez Valider les jetons Firebase PNV.
Une fois que vous avez implémenté et testé le flux Firebase PNV de votre application et l'intégration du backend, vous pouvez mettre votre application en production pour commencer à obtenir de vrais numéros de téléphone validés. Consultez Passer au mode production.