Auf dieser Seite wird beschrieben, wie Sie Firebase Phone Number Verification in einer Android-App verwenden. Eine allgemeine Beschreibung dieser Funktion finden Sie in der Übersicht.
Wenn du die Schritte auf dieser Seite ausführst, kannst du die Nutzerflüsse für Firebase PNV schnell implementieren. Zu Testzwecken generieren Sie ein Testtoken, das zu einer gefälschten Telefonnummer aufgelöst wird. Mit diesem Testtoken können Sie Firebase PNV in Ihre App einbinden, ohne ein Rechnungskonto oder ein Gerät mit einer echten SIM-Karte zu benötigen.
Wenn Sie mit der Firebase PNV-Nutzererfahrung in Ihrer App zufrieden sind, können Sie einige zusätzliche Schritte ausführen, um Ihre App für die Produktion vorzubereiten.
Hinweis
Fügen Sie Ihrem Android-Projekt Firebase hinzu, falls noch nicht geschehen.
Wenn Sie den Testmodus verwenden möchten, muss das Gerät, auf dem Ihre App ausgeführt wird, für das öffentliche Betaprogramm für Google-Systemdienste registriert sein. Auf der verlinkten Seite erfahren Sie, wie Sie sich registrieren können.
1. Firebase PNV-Bibliothek zur App hinzufügen
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (normalerweise<project>/<app-module>/build.gradle.kts oder <project>/<app-module>/build.gradle) die Abhängigkeit für die Firebase Phone Number Verification-Bibliothek für Android hinzu. Wir empfehlen, die Firebase Android BoM zu verwenden, um die Bibliotheksversionierung zu steuern.
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") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
(Alternative) Firebase-Bibliotheksabhängigkeiten ohne Verwendung der BoM hinzufügen
Wenn Sie die Firebase BoM nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in der entsprechenden Abhängigkeitszeile angeben.
Wenn Sie mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir dringend, die BoM zur Verwaltung der Bibliotheksversionen zu verwenden. So wird sichergestellt, dass alle Versionen kompatibel sind.
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. Firebase PNV-Bibliothek im Testmodus initialisieren
Rufen Sie in der Firebase-Konsole den Tab Sicherheit > Bestätigung der Telefonnummer > Test auf.
Klicken Sie auf Token generieren.
Initialisieren Sie in Ihrer App den Firebase PNV-Client, um eine Testsitzung zu verwenden:
Kotlin
Importieren Sie die Bibliothek:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationErstellen Sie eine neue Instanz der
FirebasePhoneNumberVerification-Klasse und verwenden Sie diese Instanz für alle Firebase PNV-Aufrufe.val fpnv = FirebasePhoneNumberVerification.getInstance()Aktivieren Sie eine Testsitzung mit dem Token, das Sie im vorherigen Schritt generiert haben:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Sie dürfen diese Methode nur einmal für eine Instanz von
FirebasePhoneNumberVerificationaufrufen. Bei nachfolgenden Aufrufen wird ein Fehler ausgegeben.
Test-Tokens haben eine TTL von 7 Tagen. Nach diesem Zeitraum müssen Sie ein neues Token generieren, um Testsitzungen zu ermöglichen. Test-Tokens funktionieren auf physischen Geräten und Emulatoren und eignen sich daher ideal für das Prototyping der UX in Ihrer App oder für Tests in CI/CD.
3. Empfohlen: Unterstützung für Firebase PNV prüfen
Damit du besser entscheiden kannst, wann die Benutzeroberfläche für die Nummerneingabe oder die Erläuterung angezeigt werden soll, solltest du beim Start der App prüfen, ob das Gerät und die SIM-Karte Firebase PNV unterstützen. Dies ist eine Vorabprüfung, für die keine Nutzereinwilligung erforderlich ist. Anhand des Ergebnisses dieses Tests können Sie entscheiden, ob Sie den Firebase PNV-Ablauf initiieren oder eine alternative Methode zur Bestätigung der Telefonnummer verwenden möchten, z. B. SMS.
Rufen Sie die Methode getVerificationSupportInfo() auf, um die Kompatibilität des Geräts zu prüfen. Wenn eine Testsitzung aktiv ist, gibt diese Methode eine Liste mit einem einzelnen Eintrag für das in Ihrem Projekt aktive Testtoken zurück.
Wenn du deine App später in die Produktion überführst, gibt diese Methode ein Ergebnis für jede SIM im Gerät zurück.
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. Bestätigungsvorgang starten
Rufen Sie die Methode getVerifiedPhoneNumber() auf, um den Firebase PNV-Vorgang zu starten:
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.
}
Die Methode getVerifiedPhoneNumber() führt den gesamten Ablauf zur Bestätigung der Telefonnummer aus, einschließlich:
- Verwendung des Android Credential Manager, um die Nutzereinwilligung zur Weitergabe seiner Telefonnummer einzuholen.
- Anfrage an das Firebase PNV-Backend stellen.
- Rückgabe eines Tokens mit der bestätigten Telefonnummer für das Gerät (in einer Produktions-App erfolgt hier die Abrechnung)
Nächste Schritte
Auf dieser Seite wird beschrieben, wie Sie Firebase PNV mithilfe der einheitlichen API mit einem einzelnen Aufruf einbinden. Durch den Aufruf einer einzelnen Methode wird der gesamte Firebase PNV-Nutzerablauf abgewickelt, von der Einholung der Nutzereinwilligung bis hin zu den erforderlichen Netzwerkaufrufen an das Firebase PNV-Backend. Mit dieser Methode reduzieren Sie die Integrationsschritte auf einen einzigen Methodenaufruf.
Diese API wird für die meisten Entwickler empfohlen. Wenn Sie jedoch bestimmte Anforderungen haben, die von der Bibliothek nicht erfüllt werden, finden Sie auf der Seite Firebase Phone Number Verification-Ablauf anpassen Informationen zum Implementieren eines benutzerdefinierten Ablaufs.
Wenn du die bestätigte Telefonnummer außerhalb des App-Clients verwendest, solltest du das Token anstelle der Telefonnummer selbst weitergeben, damit du die Integrität der Nummer bei der Verwendung überprüfen kannst. Weitere Informationen finden Sie unter Firebase PNV-Tokens prüfen.
Nachdem du den Firebase PNV-Ablauf und die Backend-Integration deiner App implementiert und getestet hast, kannst du deine App in die Produktion überführen, um echte bestätigte Telefonnummern zu erhalten. Weitere Informationen finden Sie unter Upgrade auf den Produktionsmodus.