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 reines Testtoken, das 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.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 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.0.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
Bibliothek importieren:
import com.google.firebase.pnv.FirebasePhoneNumberVerificationErstellen Sie eine neue Instanz der
FirebasePhoneNumberVerification-Klasse und verwenden Sie diese Instanz für alle Firebase PNV-Aufrufe. DiegetInstance()-Methode gibt kein Singleton-Objekt zurück. Sie müssen es also 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.
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, ob Firebase PNV unterstützt wird
Um zu ermitteln, wann die Benutzeroberfläche für die Eingabe der Nummer 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 starten 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 Sie eine Testsitzung aktiv haben, gibt diese Methode eine Liste aller Test-Tokens zurück, die in Ihrem Projekt aktiv sind. Später, wenn Sie Ihre App in der Produktionsumgebung verwenden, 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ätigungsprozess starten
Rufen Sie die Methode getVerifiedPhoneNumber() auf, um den Firebase PNV-Ablauf 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 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 zu diesem Zeitpunkt).
Nächste Schritte
Auf dieser Seite wird beschrieben, wie Sie die einheitliche API mit nur einem Aufruf in Firebase PNV einbinden. Durch Aufrufen einer einzelnen Methode wird der gesamte Firebase PNV-Ablauf 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 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 weitergeben, 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 Produktion geben, um echte bestätigte Telefonnummern zu erhalten. Weitere Informationen finden Sie unter Auf den Produktionsmodus upgraden.