Bestätigung der Telefonnummer von Firebase zu Ihrer Android-App hinzufügen

1. Übersicht

Die Bestätigung der Telefonnummer in Firebase (Firebase Phone Number Verification, Firebase PNV oder FPNV) ist eine schnellere und sicherere Methode zur Bestätigung von Telefonnummern. Im Gegensatz zur SMS-basierten Bestätigung, bei der Endnutzer einen Code per SMS erhalten und eingeben müssen, wird bei Firebase PNV die Telefonnummer, die der SIM-Karte im Gerät zugewiesen ist, mit einem einzigen Tippen direkt vom verbundenen Mobilfunkanbieter abgerufen. Das reduziert die Reibung für den Endnutzer, verbessert die Zuverlässigkeit, da die Zustellung von SMS-Nachrichten nicht erforderlich ist, und beseitigt Missbrauchsmöglichkeiten, die häufig bei der Verwendung von SMS ausgenutzt werden.

Pop-up-Dialogfeld für PNV in Firebase

In diesem Codelab erfahren Sie, wie Sie einen KI-basierten Sprachassistenten für die Restaurantsuche erstellen, der die Bestätigung der Telefonnummer in Firebase verwendet, um die Telefonnummer des Endnutzers zu bestätigen, bevor eine Tischreservierung bestätigt wird.

Vorbereitung

  • Neueste Version von Android Studio
  • Android-Gerät oder -Emulator mit API-Level 26 oder höher

Lerninhalte

  • Firebase-Projekt mit Firebase PNV einrichten
  • Firebase PNV im Testmodus verwenden, um Prototypen ohne Rechnungskonto oder echte SIM-Karte zu erstellen
  • Firebase PNV SDK in eine Android-App einbinden
  • Telefonnummer mit der Single-Call API bestätigen
  • (Optional) App für die Produktion vorbereiten

2. Beispielprojekt einrichten

Firebase-Projekt erstellen

  1. Melden Sie sich in der Firebase Console mit Ihrem Google-Konto an.
  2. Klicken Sie auf die Schaltfläche, um ein neues Projekt zu erstellen, und geben Sie dann einen Projektnamen ein (z. B. Tera Bites).
  3. Klicken Sie auf Weiter.
  4. Wenn Sie dazu aufgefordert werden, lesen und akzeptieren Sie die Firebase-Nutzungsbedingungen und klicken Sie dann auf Weiter.
  5. (Optional) Aktivieren Sie die KI-Unterstützung in der Firebase Console (Gemini in Firebase genannt).
  6. Für dieses Codelab benötigen Sie kein Google Analytics. Deaktivieren Sie daher die Google Analytics-Option.
  7. Klicken Sie auf Projekt erstellen, warten Sie, bis Ihr Projekt bereitgestellt wurde, und klicken Sie dann auf Weiter.

Code herunterladen

Führen Sie die folgenden Befehle aus, um den Beispielcode für dieses Codelab zu klonen:

git clone https://github.com/GoogleCloudPlatform/devrel-demos
cd codelabs/firebase-pnv-android

Öffnen Sie das Verzeichnis firebase-pnv-android in Android Studio.

Android-Projekt mit Firebase verbinden

  1. Klicken Sie in der Firebase Console auf der Seite „Projektübersicht“ in der Mitte auf das Symbol Android oder App hinzufügen , um den Workflow zur App-Erstellung zu starten.
  2. Geben Sie im Feld Android-Paketname den Paketnamen der App ein: com.google.firebase.example.fpnv.
  3. Klicken Sie auf App registrieren.
  4. Folgen Sie der Anleitung, um die Datei google-services.json herunterzuladen, und verschieben Sie sie in das Verzeichnis app/ des gerade heruntergeladenen Codes.
  5. Klicken Sie auf Weiter.

Firebase AI Logic aktivieren

In diesem Codelab wird Firebase AI Logic verwendet, um den KI-basierten Sprachassistenten zu betreiben. So aktivieren Sie Firebase AI Logic in Ihrem Firebase-Projekt:

  1. Rufen Sie in der Firebase Console KI-Dienste > KI-Logik auf.
  2. Klicken Sie auf Jetzt starten.
  3. Wählen Sie die Gemini Developer API aus, indem Sie auf Erste Schritte mit dieser API klicken.
  4. Klicken Sie auf API aktivieren und bestätigen Sie die Aktion.

3. Firebase PNV im Testmodus einrichten

Im Testmodus können Sie eine „falsche“ Telefonnummer mit einem Testtoken für die Entwicklung bestätigen.

Am öffentlichen Betaprogramm für Google-Systemdienste teilnehmen

Registrieren Sie Ihr Entwicklungsgerät im Betakanal für Google-Systemdienste, um den Testmodus zu verwenden:

  1. Rufen Sie die Seite Android App Testing – Google system services auf.
  2. Klicken Sie auf Tester werden.

Sie sind jetzt Betatester für Google-Systemdienste.

Firebase PNV-Abhängigkeit hinzufügen

Im Code Ihres Android-Projekts sind die Abhängigkeiten für die Firebase PNV- und Firebase AI Logic-Bibliotheken bereits in der Datei /gradle/versions.toml definiert:

[versions]
# ... other dependencies
firebaseBom = "34.13.0"

[libraries]
# ... other libraries
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-ai-logic = { module = "com.google.firebase:firebase-ai" }
firebase-pnv = { module = "com.google.firebase:firebase-pnv" }

Deklarieren Sie die Abhängigkeit für die Firebase PNV-Bibliothek in der Gradle-Datei Ihres Moduls (auf App-Ebene), in der Regel /app/build.gradle.kts:

dependencies {
  // ... other dependencies
  implementation(platform(libs.firebase.bom))
  implementation(libs.firebase.ai.logic)

  // Add this line
  implementation(libs.firebase.pnv)

  // ...
}

Testtoken generieren

  1. Rufen Sie in der Firebase Console Sicherheit > Telefonbestätigung auf.
  2. Wählen Sie den Tab Testen aus.
  3. Wählen Sie den Ländercode für Ihre Testtelefonnummer aus und klicken Sie auf Token generieren.
  4. Kopieren Sie die generierte Token-String.

Testsitzung im Code aktivieren

  1. Öffnen Sie in Ihrem Android-Projekt die Datei ChatViewModel.kt und suchen Sie die Funktion verifyPhoneNumber().
  2. Initialisieren Sie den FirebasePhoneNumberVerification-Client und aktivieren Sie die Testsitzung. Fügen Sie dazu das Token ein, das Sie aus der Firebase Console kopiert haben:
    suspend fun verifyPhoneNumber(): String {
        // Initialize Firebase Phone Number Verification
        val fpnv = FirebasePhoneNumberVerification.getInstance()
    
        // Enable Test session
        fpnv.enableTestSession("PASTE_THE_TOKEN_YOU_COPIED_IN_PREV_STEP")
    
        // Trigger the Firebase PNV pop up
        val response = fpnv.getVerifiedPhoneNumber(context!!).await()
        val phoneNumber = response.getPhoneNumber()
    
        return phoneNumber
    }
    

4. Anwendung ausführen

Nachdem Sie Firebase PNV implementiert haben, können Sie die App ausführen.

  1. Klicken Sie in Android Studio auf Ausführen, um die App im Android-Emulator oder auf einem physischen Gerät zu starten.
  2. Nach dem Start der App sollten Sie einen Bildschirm wie diesen sehen:
    Firebase PNV-App wird ausgeführt
  3. Klicken Sie auf Anruf starten und stellen Sie sich vor.
    Firebase PNV-App wird ausgeführt
  4. Der KI-basierte Sprachassistent sollte Sie nach Reservierungsdetails fragen. Nachdem Sie die Details angegeben haben, sollten Sie aufgefordert werden, auf den Bildschirm zu schauen, um Ihre Telefonnummer zu bestätigen:
    Firebase PNV-App wird ausgeführt
  5. Sobald das erledigt ist, wird ein Bildschirm mit der Bestätigung angezeigt:
    Firebase PNV-App wird ausgeführt
  6. Klicken Sie auf Sitzung beenden , um den Anruf zu beenden.

5. (Optional) Auf den Produktionsmodus umstellen

Firebase-Preismodell aktualisieren

Wenn Sie Firebase PNV im Produktionsmodus verwenden möchten, muss Ihr Firebase-Projekt auf dem Blaze-Tarif (Pay as you go) basieren. Das bedeutet, dass es mit einem Cloud-Rechnungskonto verknüpft ist.

  • Für ein Cloud-Rechnungskonto ist eine Zahlungsmethode wie eine Kreditkarte erforderlich.
  • Bei Sonderaktionen oder wenn Sie dieses Codelab im Rahmen einer Veranstaltung durchführen, ist möglicherweise Google Cloud-Guthaben verfügbar (z. B. das Banner oben auf dieser Seite).
  • Wenn Sie Firebase und Google Cloud noch nicht kennen, prüfen Sie, ob Sie Anspruch auf ein Guthaben in Höhe von 300 $ und ein kostenloses Cloud-Rechnungskonto für den Testzeitraum haben.

So aktualisieren Sie Ihr Projekt auf den Blaze-Tarif:

  1. Wählen Sie in der Firebase Console die Option zum Aktualisieren Ihres Tarifs aus.
  2. Wählen Sie den Blaze-Tarif aus. Folgen Sie der Anleitung auf dem Bildschirm, um ein Cloud-Rechnungskonto mit Ihrem Projekt zu verknüpfen.
    • Wenn Sie Google Cloud-Guthaben für dieses Codelab eingelöst haben, heißt das Rechnungskonto wahrscheinlich Google Cloud Platform Trial Billing Account oder My Billing Account.
    • Wenn Sie im Rahmen dieses Upgrades ein Cloud-Rechnungskonto erstellen mussten, müssen Sie möglicherweise zum Upgrade-Workflow in der Firebase Console zurückkehren, um das Upgrade abzuschließen.

Firebase PNV-Produktionsmodus aktivieren

  1. Fügen Sie den SHA-256-Fingerabdruck Ihrer App hinzu:
    1. Rufen Sie in der Firebase Console die Seite Einstellungen > Allgemein auf.
    2. Scrollen Sie nach unten zur Karte Meine Apps und suchen Sie Ihre Android-App.
    3. Fügen Sie im Feld SHA-Zertifikat-Fingerabdrücke Ihren SHA-256-Fingerabdruck hinzu. Weitere Informationen zum Abrufen des SHA-256-Fingerabdrucks Ihrer App finden Sie unter Client authentifizieren.
  2. Kehren Sie zu Sicherheit > Telefonbestätigung zurück.
  3. Klicken Sie auf Produktion einrichten. Sie sehen eine Liste der Apps in Ihrem Projekt, die für die Produktion aktiviert werden, und können weitere Apps hinzufügen.
  4. Senden Sie Ihre App zur OAuth-Markenüberprüfung und zur Überprüfung der Datenschutzerklärung ein. Google Cloud prüft, ob Sie Ihre App und ihre Datenschutzerklärung klar und korrekt identifizieren.
    Klicken Sie auf In Google Cloud fortfahren , um die Überprüfung zu starten. Dieser Vorgang kann manchmal 24 Stunden oder länger dauern.
  5. Während Sie auf die Markenüberprüfung warten, lesen Sie die dienstspezifischen Nutzungsbedingungen für Firebase PNV, die in der Console verlinkt sind.
  6. Nachdem Ihre App die Markenüberprüfung bestanden hat, setzen Sie ein Häkchen, um die dienstspezifischen Nutzungsbedingungen zu bestätigen, und klicken Sie dann auf Aktivieren.

Firebase PNV ist jetzt im Produktionsmodus aktiv.

Testcode entfernen

Löschen Sie in Ihrem Android-Projekt die Zeile fpnv.enableTestSession(...).

Firebase AI Logic zur Verwendung von Vertex AI migrieren

Wenn Sie Guthaben in Ihrem Rechnungskonto verwenden, können Sie es nicht mit der Gemini Developer API verwenden. Sie können es jedoch mit der Vertex AI Gemini API verwenden.

  1. Rufen Sie in der Firebase Console KI-Dienste > KI-Logik auf.
  2. Klicken Sie auf Einstellungen.
  3. Klicken Sie unter Vertex AI Gemini API auf Aktivieren.
  4. Ändern Sie in Ihrem Android-Projekt die Initialisierung von Firebase AI Logic so, dass das Vertex AI-Backend anstelle von Google AI verwendet wird:
    val model = Firebase.ai(
        backend = GenerativeBackend.vertexAI(location = "us-central1")
    ).liveModel(
        modelName = "gemini-live-2.5-flash-native-audio",
        // ... other configuration
    )
    

6. Glückwunsch!

Sie haben die Bestätigung der Telefonnummer in Firebase erfolgreich in eine Android-App eingebunden.

Behandelte Themen

  • Projekt für Firebase PNV einrichten
  • Testmodus für Prototypen verwenden
  • Firebase PNV Single-Call API implementieren
  • Auf den Produktionsmodus umstellen

Nächste Schritte