Um mit FCM zu beginnen, erstellen Sie den einfachsten Anwendungsfall: Senden Sie eine Testbenachrichtigung vom Benachrichtigungs-Composer an ein Entwicklungsgerät, während die App auf dem Gerät im Hintergrund ausgeführt wird. Auf dieser Seite sind alle Schritte von der Einrichtung bis zur Bestätigung aufgeführt. Möglicherweise sind auch Schritte enthalten, die Sie bereits ausgeführt haben, wenn Sie eine Android-Client-App für FCM eingerichtet haben.
SDK einrichten
In diesem Abschnitt werden Aufgaben beschrieben, die Sie möglicherweise bereits erledigt haben, wenn Sie bereits andere Firebase-Funktionen für Ihre App aktiviert haben.
Hinweis
Installieren Sie Android Studio oder aktualisieren Sie es auf die neueste Version.
Ihr Projekt muss die folgenden Anforderungen erfüllen. Beachten Sie, dass für einige Produkte strengere Anforderungen gelten können:
- Ausrichtung auf API-Level 21 (Lollipop) oder höher
- Android 5.0 oder höher verwendet
- Sie verwenden Jetpack (AndroidX) und erfüllen die folgenden Versionsanforderungen:
com.android.tools.build:gradle
v7.3.0 oder höhercompileSdkVersion
28 oder höher
Richten Sie ein physisches Gerät ein oder verwenden Sie einen Emulator, um Ihre App auszuführen.
Für Firebase SDKs mit Abhängigkeit von Google Play-Diensten müssen auf dem Gerät oder Emulator Google Play-Dienste installiert sein.
Wenn Sie noch kein Android-Projekt haben und nur ein Firebase-Produkt ausprobieren möchten, können Sie eines unserer Beispiele für den Schnellstart herunterladen.
Firebase-Projekt erstellen
Bevor Sie Firebase zu Ihrer Android-App hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, um eine Verbindung zu Ihrer Android-App herzustellen. Weitere Informationen zu Firebase-Projekten finden Sie unter Firebase-Projekte.
App bei Firebase registrieren
Wenn Sie Firebase in Ihrer Android-App verwenden möchten, müssen Sie Ihre App in Ihrem Firebase-Projekt registrieren. Die Registrierung Ihrer App wird oft als „Hinzufügen“ der App zu Ihrem Projekt bezeichnet.
Rufen Sie die Firebase Console auf.
Klicken Sie in der Mitte der Projektübersicht auf das Symbol Android (
) oder App hinzufügen, um den Einrichtungsworkflow zu starten.Geben Sie den Paketnamen Ihrer App in das Feld Android-Paketname ein.
Optional: Geben Sie weitere App-Informationen ein: App-Alias und SHA-1-Wert des Signaturzertifikats für die Fehlerbehebung.
Klicken Sie auf App registrieren.
Firebase-Konfigurationsdatei hinzufügen
Laden Sie die Firebase-Android-Konfigurationsdatei (
) herunter und fügen Sie sie Ihrer App hinzu:google-services.json Klicken Sie auf google-services.json herunterladen, um die Firebase-Android-Konfigurationsdatei abzurufen.
Verschieben Sie die Konfigurationsdatei in das Stammverzeichnis des Moduls (auf App-Ebene) Ihrer App.
Wenn Sie die Werte in Ihrer
-Konfigurationsdatei für Firebase SDKs verfügbar machen möchten, benötigen Sie das Gradle-Plug-in für Google-Dienste (google-services.json google-services
).Fügen Sie das Google-Dienste-Plug-in als Abhängigkeit in die Gradle-Datei auf Stammebene (Projektebene) (
<project>/build.gradle.kts
oder<project>/build.gradle
) ein:Kotlin
plugins { id("com.android.application") version "7.3.0" apply false // ... // Add the dependency for the Google services Gradle plugin id("com.google.gms.google-services") version "4.4.2" apply false }
Groovy
plugins { id 'com.android.application' version '7.3.0' apply false // ... // Add the dependency for the Google services Gradle plugin id 'com.google.gms.google-services' version '4.4.2' apply false }
Fügen Sie in der Gradle-Datei des Moduls (auf App-Ebene) (in der Regel
<project>/<app-module>/build.gradle.kts
oder<project>/<app-module>/build.gradle
) das Google-Dienste-Plug-in hinzu:Kotlin
plugins { id("com.android.application") // Add the Google services Gradle plugin id("com.google.gms.google-services") // ... }
Groovy
plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' // ... }
Firebase SDKs zu Ihrer App hinzufügen
Fügen Sie in der Gradle-Datei des Moduls (auf Anwendungsebene) (in der Regel
<project>/<app-module>/build.gradle.kts
oder<project>/<app-module>/build.gradle
) die Abhängigkeit für die Firebase Cloud Messaging-Bibliothek für Android hinzu. Wir empfehlen, die Firebase Android BoM zu verwenden, um die Versionierung der Bibliothek zu steuern.Für eine optimale Nutzung von Firebase Cloud Messaging empfehlen wir, Google Analytics in Ihrem Firebase-Projekt zu aktivieren und Ihrer App das Firebase SDK für Google Analytics hinzuzufügen.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.6.0")) // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging") implementation("com.google.firebase:firebase-analytics") }
Mit der Firebase Android BoM haben Sie immer eine kompatible Version der Firebase Android-Bibliotheken in Ihrer App.
Alternative: Firebase-Bibliotheksabhängigkeiten ohne BoM hinzufügen
Wenn Sie Firebase BoM nicht verwenden, müssen Sie jede Firebase-Bibliotheksversion in der entsprechenden Abhängigkeitszeile angeben.
Wenn Sie in Ihrer App mehrere Firebase-Bibliotheken verwenden, empfehlen wir Ihnen dringend, die Bibliotheksversionen mithilfe der BoM zu verwalten. So wird sichergestellt, dass alle Versionen kompatibel sind.
dependencies { // Add the dependencies for the Firebase Cloud Messaging and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-messaging:24.1.0") implementation("com.google.firebase:firebase-analytics:22.1.2") }
Synchronisieren Sie Ihr Android-Projekt mit Gradle-Dateien.
Auf das Registrierungstoken zugreifen
Wenn Sie eine Nachricht an ein bestimmtes Gerät senden möchten, benötigen Sie das Registrierungstoken dieses Geräts. Da Sie das Token in ein Feld in der Benachrichtigungskonsole eingeben müssen, um diese Anleitung abzuschließen, sollten Sie es kopieren oder sicher speichern, nachdem Sie es abgerufen haben.
Beim ersten Starten Ihrer App generiert das FCM SDK ein Registrierungstoken für die Client-App-Instanz. Wenn Sie ein Targeting auf einzelne Geräte vornehmen oder Gerätegruppen erstellen möchten, müssen Sie auf dieses Token zugreifen. Dazu müssen Sie
FirebaseMessagingService
erweitern und onNewToken
überschreiben.
In diesem Abschnitt wird beschrieben, wie Sie das Token abrufen und Änderungen am Token im Blick behalten. Da das Token nach dem ersten Start rotiert werden kann, empfehlen wir Ihnen dringend, das jeweils aktuellste Registrierungstoken abzurufen.
Das Registrierungstoken kann sich in folgenden Fällen ändern:
- Die App wird auf einem neuen Gerät wiederhergestellt
- Der Nutzer deinstalliert die App und installiert sie dann wieder
- Der Nutzer löscht die App-Daten.
Aktuelles Registrierungstoken abrufen
Wenn Sie das aktuelle Token abrufen möchten, rufen Sie
FirebaseMessaging.getInstance().getToken()
auf:
Kotlin+KTX
FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task -> if (!task.isSuccessful) { Log.w(TAG, "Fetching FCM registration token failed", task.exception) return@OnCompleteListener } // Get new FCM registration token val token = task.result // Log and toast val msg = getString(R.string.msg_token_fmt, token) Log.d(TAG, msg) Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show() })
Java
FirebaseMessaging.getInstance().getToken() .addOnCompleteListener(new OnCompleteListener<String>() { @Override public void onComplete(@NonNull Task<String> task) { if (!task.isSuccessful()) { Log.w(TAG, "Fetching FCM registration token failed", task.getException()); return; } // Get new FCM registration token String token = task.getResult(); // Log and toast String msg = getString(R.string.msg_token_fmt, token); Log.d(TAG, msg); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); } });
Tokengenerierung beobachten
Der onNewToken
-Callback wird ausgelöst, wenn ein neues Token generiert wird.
Kotlin+KTX
/** * Called if the FCM registration token is updated. This may occur if the security of * the previous token had been compromised. Note that this is called when the * FCM registration token is initially generated so this is where you would retrieve the token. */ override fun onNewToken(token: String) { Log.d(TAG, "Refreshed token: $token") // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token) }
Java
/** * There are two scenarios when onNewToken is called: * 1) When a new token is generated on initial app startup * 2) Whenever an existing token is changed * Under #2, there are three scenarios when the existing token is changed: * A) App is restored to a new device * B) User uninstalls/reinstalls the app * C) User clears app data */ @Override public void onNewToken(@NonNull String token) { Log.d(TAG, "Refreshed token: " + token); // If you want to send messages to this application instance or // manage this apps subscriptions on the server side, send the // FCM registration token to your app server. sendRegistrationToServer(token); }
Nachdem du das Token erhalten hast, kannst du es an deinen App-Server senden und mit deiner bevorzugten Methode speichern.
Testbenachrichtigung senden
Installieren und ausführen Sie die App auf dem Zielgerät. Auf Apple-Geräten müssen Sie die Berechtigungsanfrage für Remote-Benachrichtigungen akzeptieren.
Die App muss auf dem Gerät im Hintergrund ausgeführt werden.
Öffnen Sie in der Firebase Console die Seite Messaging.
Wenn dies Ihre erste Mitteilung ist, wählen Sie Erste Kampagne erstellen aus.
- Wählen Sie Firebase-Benachrichtigungsnachrichten und dann Erstellen aus.
Wählen Sie andernfalls auf dem Tab Kampagnen die Option Neue Kampagne und dann Benachrichtigungen aus.
Geben Sie den Nachrichtentext ein. Alle anderen sind optional.
Wählen Sie im rechten Bereich Testnachricht senden aus.
Geben Sie in das Feld FCM-Registrierungstoken hinzufügen das Registrierungstoken ein, das Sie in einem vorherigen Abschnitt dieser Anleitung erhalten haben.
Wählen Sie Testen aus.
Nachdem Sie Testen ausgewählt haben, sollte das Zielclientgerät (mit der App im Hintergrund) die Benachrichtigung erhalten.
Informationen zur Zustellung von Nachrichten an Ihre App finden Sie im FCMBerichtsdashboard. Dort werden die Anzahl der auf Apple- und Android-Geräten gesendeten und geöffneten Nachrichten sowie Daten zu „Impressionen“ (von Nutzern gesehene Benachrichtigungen) für Android-Apps erfasst.
Nächste Schritte
Nachrichten an Apps im Vordergrund senden
Nachdem Sie Benachrichtigungen erfolgreich gesendet haben, während Ihre App im Hintergrund ausgeführt wurde, lesen Sie den Hilfeartikel Nachrichten in einer Android-App empfangen, um zu erfahren, wie Sie Nachrichten an Apps im Vordergrund senden.
Mehr als nur Benachrichtigungen
Wenn Sie Ihrer App nicht nur Benachrichtigungen senden, sondern auch andere, erweiterte Funktionen hinzufügen möchten, lesen Sie die folgenden Hilfeartikel: