Verwenden Sie FCM und FIAM, um Nachrichten an Benutzer zu senden

1. Bevor Sie beginnen

In diesem Codelab erfahren Sie, wie Sie die Möglichkeit hinzufügen, mit Benutzern zu interagieren, unabhängig davon, ob diese Ihre App im Vordergrund verwenden oder sich Ihre App im Hintergrund befindet.

206c7ecece550bde.png

Voraussetzungen

Keiner

Was Sie lernen werden

  • Fügen Sie Firebase zu Ihrer Android-App hinzu
  • Fügen Sie FCM- und FIAM-Abhängigkeiten hinzu
  • Senden Sie eine Test-FCM-Nachricht an Ihre App
  • Senden Sie eine Test-FIAM-Nachricht an Ihre App

Was du brauchen wirst

  • Android Studio 4.1
  • Android-Gerät oder Emulator

2. Legen Sie los

Holen Sie sich den Beispielcode

Klonen Sie das GitHub-Repository über die Befehlszeile:

Importieren Sie die Starter-App

Wählen Sie in Android Studio das Verzeichnis codelab-fcm-and-fiam aus ( android_studio_folder.png ). Es wäre dasjenige, das im vorherigen Schritt geklont wurde ( Datei > Öffnen > .../codelab-fcm-and-fiam).

Sie sollten jetzt das FcmAndFiam-Projekt in Android Studio geöffnet haben. Machen Sie sich keine Sorgen, wenn Sie eine Warnung bezüglich einer fehlenden Datei „google-services.json“ sehen. Es wird im nächsten Schritt hinzugefügt.

3. Erstellen Sie ein Firebase-Konsolenprojekt

Fügen Sie Firebase zum Projekt hinzu

  1. Gehen Sie zur Firebase-Konsole .
  2. Wählen Sie Projekt hinzufügen .
  3. Wählen Sie einen Projektnamen aus oder geben Sie ihn ein.
  4. Befolgen Sie die verbleibenden Einrichtungsschritte in der Firebase-Konsole und klicken Sie dann auf Projekt erstellen (oder Firebase hinzufügen, wenn Sie ein vorhandenes Google-Projekt verwenden).
  5. Klicken Sie im Übersichtsbildschirm Ihres neuen Projekts auf das Android-Symbol, um den Einrichtungsworkflow zu starten.
  6. Geben Sie den Paketnamen des Codelabs ein: com.google.firebase.codelab.fcmandfiam

Fügen Sie Ihrer App die Datei „google-services.json“ hinzu

Nachdem Sie den Paketnamen hinzugefügt haben, klicken Sie auf „App registrieren“ und laden Sie dann „google-services.json“ herunter , um Ihre Firebase-Android-Konfigurationsdatei zu erhalten. Kopieren Sie dann die Datei „google-services.json“ in das app Verzeichnis in Ihrem Projekt. Nachdem die Datei heruntergeladen wurde, können Sie auf „Überspringen“ klicken, um die nächsten Schritte anzuzeigen, die in der Konsole angezeigt werden (sie wurden bereits im Build-Android-Start-Projekt für Sie erledigt).

Fügen Sie Ihrer App das Google-Services-Plugin hinzu

Das Google-Services-Plugin verwendet die Datei google-services.json, um Ihre Anwendung für die Verwendung von Firebase zu konfigurieren. Die Google-Services-Plugin-Abhängigkeit und das Plugin selbst sollten bereits den Build-Dateien auf Projekt- bzw. App-Ebene hinzugefügt werden. Bestätigen Sie die folgenden Eingaben:

build.gradle

buildscript {
  ...
  dependencies {
    ...
    classpath 'com.google.gms:google-services:4.3.8'
  }
}

app/build.gradle

plugins {
  ...
  id: 'com.google.gms.google-services'
}

Abhängigkeiten hinzufügen

FCM und FIAM erfordern die folgenden Abhängigkeiten. Diese Abhängigkeiten sollten bereits zur Build-Datei auf App-Ebene hinzugefügt werden. Bestätigen Sie, dass die folgenden Abhängigkeiten hinzugefügt wurden:

app/build.gradle

dependencies {
  ...
  implementation platform('com.google.firebase:firebase-bom:28.4.2')
  implementation 'com.google.firebase:firebase-analytics'
  implementation 'com.google.firebase:firebase-messaging'
  implementation 'com.google.firebase:firebase-inappmessaging-display'
}

Synchronisieren Sie Ihr Projekt mit Gradle-Dateien

Um sicherzustellen, dass alle Abhängigkeiten für Ihre App verfügbar sind, sollten Sie Ihr Projekt an dieser Stelle mit Gradle-Dateien synchronisieren. Wählen Sie in der Android Studio-Symbolleiste Datei > Projekt mit Gradle-Dateien synchronisieren .

4. Protokoll-IDs

Firebase Cloud Messaging und Firebase In App Messaging verwenden beide Identifikatoren, um Nachrichten an Apps zu senden. FCM verwendet ein Registrierungstoken und FIAM verwendet eine Installations-ID.

  1. Ersetzen Sie in MainActivity.kt das TODO durch den folgenden Code, um die zum Senden von Nachrichten erforderlichen Kennungen zu protokollieren:
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
   if (regTokenTask.isSuccessful) {
       Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve registration token",
           regTokenTask.exception)
   }
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
   if (installationIdTask.isSuccessful) {
       Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
   } else {
       Log.e(TAG, "Unable to retrieve installations ID",
           installationIdTask.exception)
   }
}
  1. Schließen Sie Ihr Android-Gerät an und klicken Sie auf Ausführen ( ausführen.png )in der Android Studio-Symbolleiste. Durch Tippen auf die Schaltfläche „Log Identifiers“ werden das FCM-Registrierungstoken und die Firebase-Installations-ID in logcat protokolliert. Die Ausgabe sollte so aussehen:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Test-FCM-Nachricht senden

FCM-Nachrichten können sowohl von der Firebase-Konsole als auch von der FCM-REST-API gesendet werden. In diesem Codelab verfassen wir eine FCM-Benachrichtigungsnachricht und senden sie an unser Gerät. Benachrichtigungsmeldungen sind solche, die im Benachrichtigungsbereich des Systems angezeigt werden. Senden Sie eine Test-FCM-Nachricht per:

  1. Stellen Sie sicher, dass sich die App im Hintergrund befindet (gehen Sie zum Startbildschirm).
  2. Gehen Sie zur Firebase-Konsole und wählen Sie im linken Navigationsbereich Cloud Messaging aus
  3. Wählen Sie Ihre erste Nachricht senden
  4. Fügen Sie einen Titel und einen Text für die Nachricht hinzu und klicken Sie dann auf Testnachricht senden

207ced65f5245ada.png

  1. Fügen Sie das FCM-Registrierungstoken hinzu und klicken Sie dann auf Test

f3556c6a8a6453fe.png

  1. Beachten Sie die Anzeigemeldung am Gerät
  2. Durch Tippen auf die Benachrichtigung wird die App geöffnet

6. Test-FIAM-Nachricht senden

Firebase In App Messaging kann durch eine Vielzahl von Benutzerereignissen ausgelöst werden. Die Testnachricht verwendet das App-Öffnungsereignis, um die In-App-Nachricht auszulösen. Senden Sie eine Test-FIAM-Nachricht per:

  1. Stellen Sie sicher, dass sich die App im Hintergrund befindet (gehen Sie zum Startbildschirm).
  2. Gehen Sie zur Firebase-Konsole und wählen Sie im linken Navigationsbereich In-App-Messaging aus
  3. Wählen Sie Ihre erste Kampagne erstellen
  4. Wählen Sie die Top-Banner-Kampagne aus und geben Sie Titel und Text der Nachricht ein
  5. Klicken Sie auf Auf Gerät testen

69f6ea5efff240d1.png

  1. Fügen Sie die Installations-ID hinzu und klicken Sie auf Testen

24b101edfab47144.png

  1. App erneut öffnen
  2. Beobachten Sie in der App-Nachricht

7. Herzlichen Glückwunsch

Herzlichen Glückwunsch, Sie haben sowohl FCM- als auch FIAM-Nachrichten erfolgreich versendet. Jetzt wissen Sie, wie Sie mit Ihren Benutzern interagieren können, unabhängig davon, ob diese Ihre App im Vordergrund oder im Hintergrund verwenden.

Weiterführende Literatur

Was kommt als nächstes

  • Senden Sie Nachrichten an Benutzer in Ihrer eigenen Android-App.

Referenzdokumente