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 Sie die Schritte auf dieser Seite ausführen, können Sie die Implementierung der Nutzer-Flows für Firebase PNVschnell starten. Zu Testzwecken generieren Sie ein Token, das nur für Tests verwendet werden kann und in eine gefälschte Telefonnummer aufgelöst wird. Mit diesem Testtoken, können Sie Firebase PNV in Ihre App einbinden, ohne ein Abrechnungskonto oder ein Gerät mit einer echten SIM-Karte zu benötigen.
Wenn Sie mit der Nutzererfahrung von Firebase PNV 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.
1. Firebase PNV-Bibliothek zu Ihrer App hinzufügen
Fügen Sie in der Gradle-Datei Ihres Moduls (auf Anwendungsebene) (in der Regel<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: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") }
Mit der Firebase Android BoM, haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
(Alternative) Firebase-Bibliotheksabhängigkeiten ohne BoM hinzufügen
Wenn Sie die Firebase BoM nicht verwenden möchten, müssen Sie die Version jeder Firebase-Bibliothek in der entsprechenden Abhängigkeitszeile angeben.
Wenn Sie in Ihrer App mehrere Firebase-Bibliotheken verwenden, empfehlen wir dringend, die BoM zu verwenden, um die Bibliotheksversionen zu verwalten. 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:16.0.0") }
2. Firebase PNV Bibliothek im Testmodus initialisieren
Klicken Sie im Firebase Telefonnummernbestätigungsbereich der Konsole auf dem Tab Tests auf die Schaltfläche Token generieren.
Initialisieren Sie in Ihrer App den Firebase PNV Client, um eine Testsitzung zu verwenden:
Kotlin
Bibliothek importieren:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationErstellen Sie eine neue Instanz der Klasse
FirebasePhoneNumberVerificationund verwenden Sie diese Instanz für alle Firebase PNV Aufrufe. Die MethodegetInstance()gibt kein Singleton-Objekt zurück. Sie müssen es daher nach dem Erstellen beibehalten.val fpnv = FirebasePhoneNumberVerification.getInstance(this@MainActivity)Aktivieren Sie eine Testsitzung mit dem Token, das Sie im vorherigen Schritt generiert haben:
fpnv.enableTestSession("COPIED_TOKEN_STRING")Sie müssen diese Methode nur einmal für eine Instanz von
FirebasePhoneNumberVerificationaufrufen. Bei nachfolgenden Aufrufen wird ein Fehler ausgegeben.
Testtokens haben eine Gültigkeitsdauer von 7 Tagen. Danach müssen Sie ein neues Token generieren, um Testsitzungen zu aktivieren. Testtokens 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: Auf Unterstützung für Firebase PNV prüfen
Damit Sie entscheiden können, wann die UI für die Eingabe der Telefonnummer oder die UI mit Erklärungen angezeigt werden soll, empfiehlt es sich, beim Start der App zu prüfen, ob das Gerät und die SIM-Karte unterstützen Firebase PNV. 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 Flow starten oder eine alternative Methode zur Bestätigung der Telefonnummer verwenden, 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 aller Testtokens zurück, die in Ihrem Projekt aktiv sind. Nachdem Sie Ihre App für die Produktion vorbereitet haben, gibt diese Methode ein Ergebnis für jede SIM-Karte 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ätigungs-Flow starten
Rufen Sie die Methode getVerifiedPhoneNumber() auf, um den Firebase PNV Flow zu starten:
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.
}
Die Methode getVerifiedPhoneNumber() führt den gesamten Bestätigungs-Flow für die Telefonnummer aus, einschließlich:
- Mit dem Android Credential Manager die Nutzereinwilligung einholen, um die Telefonnummer freizugeben.
- Anfrage an das Firebase PNV Back-End senden.
- Ein Token mit der bestätigten Telefonnummer für das Gerät zurückgeben (in einer Produktions-App erfolgt hier die Abrechnung).
Nächste Schritte
Auf dieser Seite wird beschrieben, wie Sie die einheitliche API mit einem einzigen Aufruf in Firebase PNV einbinden. Durch den Aufruf einer einzelnen Methode wird der gesamte Firebase PNV Nutzer-Flow abgewickelt, von der Einholung der Nutzereinwilligung bis hin zu den erforderlichen Netzwerkaufrufen an das Firebase PNV Back-End. Mit dieser Methode reduzieren Sie die Integrationsschritte auf einen einzigen Methodenaufruf.
Diese API wird den meisten Entwicklern empfohlen. Wenn Sie jedoch spezielle Anforderungen haben, die von der Bibliothek nicht erfüllt werden, finden Sie auf der Seite Flow anpassen Informationen zur Implementierung eines benutzerdefinierten Flows.Firebase Phone Number Verification
Wenn Sie die bestätigte Telefonnummer außerhalb des App-Clients verwenden, sollten Sie das Token anstelle der Telefonnummer selbst weitergeben, damit Sie die Integrität der Telefonnummer bei der Verwendung überprüfen können. Weitere Informationen finden Sie unter Tokens Firebase PNVbestätigen.
Nachdem Sie den Firebase PNV Flow und die Back-End- Integration Ihrer App implementiert und getestet haben, können Sie Ihre App in die Produktion übernehmen, um echte bestätigte Telefonnummern zu erhalten. Weitere Informationen finden Sie unter Auf Produktionsmodus umstellen.