FCM und FIAM verwenden, um Nachrichten an Nutzer zu senden

1. Hinweis

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

206c7ecece550bde.png

Voraussetzungen

Keine

Aufgaben in diesem Lab

  • Firebase zu Ihrer Android-App hinzufügen
  • FCM- und FIAM-Abhängigkeiten hinzufügen
  • Test-FCM-Nachricht an Ihre App senden
  • Test-FIAM-Nachricht an Ihre App senden

Voraussetzungen

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

2. Jetzt starten

Beispielcode abrufen

Klonen Sie das GitHub-Repository über die Befehlszeile:

Start-App importieren

Wählen Sie in Android Studio das Verzeichnis codelab-fcm-and-fiam ( android_studio_folder.png) aus. Das ist das Verzeichnis, das Sie im vorherigen Schritt geklont haben (File > Open > .../codelab-fcm-and-fiam).

Das Projekt „FcmAndFiam“ sollte jetzt in Android Studio geöffnet sein. Wenn Sie eine Warnung zur fehlenden Datei „google-services.json“ sehen, keine Sorge. Sie wird im nächsten Schritt hinzugefügt.

3. Firebase Console-Projekt erstellen

Firebase zum Projekt hinzufügen

  1. Rufen Sie die Firebase Console auf.
  2. Wählen Sie Projekt hinzufügen aus.
  3. Wählen Sie einen Projektnamen aus oder geben Sie einen ein.
  4. Folgen Sie der Anleitung in der Firebase Console und klicken Sie dann auf Projekt erstellen oder Firebase hinzufügen, wenn Sie ein vorhandenes Google-Projekt verwenden.
  5. Klicken Sie auf dem Ü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

Ihrer App die Datei „google-services.json“ hinzufügen

Nachdem Sie den Paketnamen hinzugefügt haben, klicken Sie auf App registrieren und dann google-services.json herunterladen, um die Firebase-Android-Konfigurationsdatei zu erhalten. Kopieren Sie die Datei „google-services.json“ dann in das Verzeichnis app in Ihrem Projekt. Nachdem die Datei heruntergeladen wurde, können Sie auf Überspringen klicken, um die nächsten Schritte in der Konsole zu überspringen. Diese Schritte wurden im Projekt „build-android-start“ bereits für Sie ausgeführt.

Ihrer App das Google-Dienste-Plug-in hinzufügen

Das Google-Dienste-Plug-in verwendet die Datei „google-services.json“, um Ihre Anwendung für die Verwendung von Firebase zu konfigurieren. Die Abhängigkeit vom Google-Dienste-Plug-in und das Plug-in selbst sollten bereits den Build-Dateien auf Projekt- und App-Ebene hinzugefügt worden sein. Bestätigen Sie die folgenden Einträge:

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

Für FCM und FIAM sind die folgenden Abhängigkeiten erforderlich. Diese Abhängigkeiten sollten der Build-Datei auf App-Ebene bereits hinzugefügt worden sein. Prüfen Sie, ob 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'
}

Projekt mit Gradle-Dateien synchronisieren

Damit alle Abhängigkeiten für Ihre App verfügbar sind, sollten Sie Ihr Projekt jetzt mit den Gradle-Dateien synchronisieren. Wählen Sie in der Android Studio-Symbolleiste File > Sync Project with Gradle Files aus.

4. Log-IDs

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

  1. Ersetzen Sie in MainActivity.kt das TODO durch den folgenden Code, um die IDs zu protokollieren, die zum Senden von Nachrichten erforderlich sind:
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. Verbinden Sie Ihr Android-Gerät und klicken Sie in der Android Studio-Symbolleiste auf Ausführen ( execute.png). Wenn Sie auf die Schaltfläche IDs protokollieren tippen, werden das FCM-Registrierungstoken und die Firebase-Installations-ID in Logcat protokolliert. Die Ausgabe sollte in etwa so aussehen:
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
  FCM registration token: emMc5LART6GV7...r0Q

5. Test-FCM-Nachricht senden

FCM-Nachrichten können sowohl über die Firebase Console als auch über die FCM REST API gesendet werden. In diesem Codelab erstellen wir eine FCM-Benachrichtigungsnachricht und senden sie an unser Gerät. Benachrichtigungsnachrichten werden im Benachrichtigungsbereich des Systems angezeigt. So senden Sie eine FCM-Testnachricht:

  1. Prüfen, ob die App im Hintergrund läuft (Startbildschirm aufrufen)
  2. Rufen Sie die Firebase Console auf und wählen Sie im linken Navigationsbereich Cloud Messaging aus.
  3. Wählen Sie Erste Nachricht senden aus.
  4. Fügen Sie einen Titel und 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 Testen.

f3556c6a8a6453fe.png

  1. Benachrichtigung auf dem Gerät beobachten
  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 Nutzerereignissen ausgelöst werden. In der Testnachricht wird das Ereignis „App geöffnet“ verwendet, um die In-App-Nachricht auszulösen. So senden Sie eine Test-FIAM-Nachricht:

  1. Prüfen, ob die App im Hintergrund läuft (Startbildschirm aufrufen)
  2. Rufen Sie die Firebase Console auf und wählen Sie im linken Navigationsbereich „In-App-Messaging“ aus.
  3. Wählen Sie Erste Kampagne erstellen aus.
  4. Wählen Sie die Top-Banner-Kampagne aus und geben Sie den Titel und den Text der Mitteilung 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 wieder öffnen
  2. In-App-Nachricht beachten

7. Glückwunsch

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

Weitere Informationen

Nächste Schritte

  • Nachrichten an Nutzer in Ihrer eigenen Android-App senden.

Referenzdokumente