Cette page explique comment utiliser Firebase Phone Number Verification dans une application Android. Consultez la présentation pour obtenir une description générale de cette fonctionnalité.
En suivant les étapes de 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 de test uniquement qui correspond à un faux numéro de téléphone. Ce jeton de test vous permet de commencer à ajouter Firebase PNV à votre application sans avoir besoin d'un compte de facturation ni d'un appareil équipé d'une vraie 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 ce n'est pas déjà fait.
Pour utiliser le mode test, l'appareil exécutant votre application doit être inscrit au programme bêta public des services système Google. Consultez la page associée pour savoir 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 la gestion des versions de la bibliothèque.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // 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") }
Avec la Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajouter des dépendances de bibliothèque Firebase sans utiliser la BoM
Si vous choisissez de ne pas utiliser la Firebase BoM, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.
Si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser la 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:17.0.0") }
2. Initialiser la bibliothèque Firebase PNV en mode test
Dans la console Firebase, accédez à l'onglet Sécurité > Validation du numéro de téléphone > Tests.
Cliquez sur 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.val fpnv = FirebasePhoneNumberVerification.getInstance()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 valeur TTL 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 parfaits pour prototyper l'expérience utilisateur dans votre application ou pour effectuer des tests dans l'intégration/le déploiement continus.
3. Recommandé : Vérifiez si votre appareil est compatible avec Firebase PNV
Pour vous aider à déterminer quand afficher l'UI de saisie du numéro ou l'UI explicative, nous vous recommandons 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 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 vérification du numéro de téléphone, comme les SMS.
Pour vérifier la compatibilité de l'appareil, appelez la méthode getVerificationSupportInfo(). Lorsqu'une session de test est active, cette méthode renvoie une liste contenant une seule entrée pour le jeton de test actif 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(this@MainActivity)
.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() effectue l'intégralité du processus de validation du numéro de téléphone, y compris :
- Utiliser Android Credential Manager pour obtenir le consentement de l'utilisateur à partager son numéro de téléphone
- Envoi de la requête au backend Firebase PNV…
- Renvoi d'un jeton contenant le numéro de téléphone validé pour l'appareil (dans une application de production, c'est à ce moment 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 parcours utilisateur Firebase PNV, de l'obtention du consentement utilisateur à l'envoi des appels réseau nécessaires au backend Firebase PNV. En utilisant cette méthode, vous réduisez 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 qui ne sont pas satisfaites par la bibliothèque, 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 et l'intégration du backend de votre application, vous pouvez la mettre en production pour commencer à obtenir de vrais numéros de téléphone validés. Consultez Passer en mode Production.