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.
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 ( ). 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
- Gehen Sie zur Firebase-Konsole .
- Wählen Sie Projekt hinzufügen .
- Wählen Sie einen Projektnamen aus oder geben Sie ihn ein.
- 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).
- Klicken Sie im Übersichtsbildschirm Ihres neuen Projekts auf das Android-Symbol, um den Einrichtungsworkflow zu starten.
- 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.
- 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)
}
}
- Schließen Sie Ihr Android-Gerät an und klicken Sie auf Ausführen ( )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:
- Stellen Sie sicher, dass sich die App im Hintergrund befindet (gehen Sie zum Startbildschirm).
- Gehen Sie zur Firebase-Konsole und wählen Sie im linken Navigationsbereich Cloud Messaging aus
- Wählen Sie Ihre erste Nachricht senden
- Fügen Sie einen Titel und einen Text für die Nachricht hinzu und klicken Sie dann auf Testnachricht senden
- Fügen Sie das FCM-Registrierungstoken hinzu und klicken Sie dann auf Test
- Beachten Sie die Anzeigemeldung am Gerät
- 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:
- Stellen Sie sicher, dass sich die App im Hintergrund befindet (gehen Sie zum Startbildschirm).
- Gehen Sie zur Firebase-Konsole und wählen Sie im linken Navigationsbereich In-App-Messaging aus
- Wählen Sie Ihre erste Kampagne erstellen
- Wählen Sie die Top-Banner-Kampagne aus und geben Sie Titel und Text der Nachricht ein
- Klicken Sie auf Auf Gerät testen
- Fügen Sie die Installations-ID hinzu und klicken Sie auf Testen
- App erneut öffnen
- 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.