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 befolgen, können Sie schnell mit der Implementierung der Nutzer-Flows für Firebase PNV beginnen. 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 einfügen, ohne dass Sie ein Abrechnungskonto oder ein Gerät mit einer echten SIM-Karte 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, im öffentlichen 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 Ihres Moduls (auf App-Ebene) (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 Versionsverwaltung der Bibliothek zu steuern.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.14.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 Verwendung von 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 mehrere Firebase-Bibliotheken in Ihrer App verwenden, empfehlen wir dringend, die BoM zum Verwalten von Bibliotheksversionen zu verwenden, um sicherzustellen, 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.1.0") }
2. Firebase PNV-Bibliothek im Testmodus initialisieren
Rufen Sie in der Firebase-Konsole den Tab Sicherheit > Telefonbestätigung > Testen auf.
Klicken Sie auf Token generieren.
Initialisieren Sie in Ihrer App den Firebase PNV-Client für die Verwendung einer Testsitzung:
Kotlin
Importieren Sie die Bibliothek:
import com.google.firebase.pnv.FirebasePhoneNumberVerification ``` Create a new instance of the `FirebasePhoneNumberVerification` class and use this instance for all Firebase PNV calls. ```kotlin val fpnv = FirebasePhoneNumberVerification.getInstance() ``` Enable a test session using the token you generated in the previous step: ```kotlin fpnv.enableTestSession("COPIED_TOKEN_STRING") ``` You must call this method only once on an instance of `FirebasePhoneNumberVerification`; subsequent calls will throw an error.
Test-Tokens haben eine TTL von 7 Tagen. Danach müssen Sie ein neues Token generieren, um Testsitzungen zu aktivieren. Test-Tokens funktionieren auf physischen Geräten und Emulatoren und eignen sich daher ideal für das Prototyping der Benutzeroberfläche in Ihrer App oder für Tests in CI/CD.
3. Empfohlen: Prüfen Sie, ob Firebase PNV unterstützt wird.
Damit Sie entscheiden können, wann die Benutzeroberfläche für die Eingabe der Telefonnummer oder die Erläuterungs-Benutzeroberfläche angezeigt werden soll, empfiehlt es sich, beim Start der App zu prüfen, ob das Gerät und seine 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, z. B. SMS.
Rufen Sie die Methode getVerificationSupportInfo() auf, um die Gerätekompatibilität 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.
Später, nachdem Sie Ihre App in der Produktionsumgebung bereitgestellt 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ätigungsvorgang starten
Rufen Sie die Methode getVerifiedPhoneNumber() auf, um den Firebase PNV-Ablauf 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:
- Mit dem Android Credential Manager die Nutzereinwilligung zum Teilen seiner Telefonnummer einholen.
- Stellen Sie die Anfrage an das Firebase PNV-Back-End.
- Ein Token mit der bestätigten Telefonnummer für das Gerät wird zurückgegeben (in einer Produktions-App erfolgt die Abrechnung dann).
Nächste Schritte
Auf dieser Seite wird beschrieben, wie Sie die einheitliche API mit nur einem Aufruf in Firebase PNV einbinden. Durch den Aufruf einer einzelnen Methode wird der gesamte Firebase PNV-Nutzerfluss abgewickelt, von der Einholung der Nutzereinwilligung bis hin zu den erforderlichen Netzwerkaufrufen des Firebase PNV-Back-Ends. Mit dieser Methode reduzieren Sie die Integrationsschritte auf einen einzelnen 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 Firebase Phone Number Verification-Ablauf anpassen Informationen zur Implementierung eines benutzerdefinierten Ablaufs.
Wenn Sie die bestätigte Telefonnummer außerhalb des App-Clients verwenden, sollten Sie das Token anstelle der Telefonnummer selbst übergeben, damit Sie die Integrität des Tokens überprüfen können, wenn Sie es verwenden. Weitere Informationen finden Sie unter Firebase PNV-Tokens bestätigen.
Nachdem Sie den Firebase PNV-Ablauf und die Backend-Integration Ihrer App implementiert und getestet haben, können Sie Ihre App in die Produktionsumgebung übertragen, um echte bestätigte Telefonnummern zu erhalten. Weitere Informationen finden Sie unter Auf den Produktionsmodus upgraden.