Catch up on everthing we announced at this year's Firebase Summit. Learn more

Senden Sie eine Testnachricht an eine Hintergrund-App

Um mit FCM, baut aus dem einfachstenen Anwendungsfall: eine Testbenachrichtigung Nachricht von den Sende Benachrichtigungen Komponisten zu einer Entwicklungseinrichtung , wenn die App im Hintergrund auf dem Gerät ist. Auf dieser Seite sind alle Schritte , dies zu erreichen, von der Einrichtung zur Überprüfung - es kann Schritte decken Sie bereits , wenn Sie abgeschlossen haben ein Android - Client - Anwendung einrichten für FCM.

SDK einrichten

In diesem Abschnitt werden Aufgaben behandelt, die Sie möglicherweise erledigt haben, wenn Sie bereits andere Firebase-Funktionen für Ihre App aktiviert haben.

Bevor Sie beginnen

  • Installieren oder Aktualisieren Android Studio auf die neueste Version.

  • Stellen Sie sicher, dass Ihr Projekt diese Anforderungen erfüllt:

    • Zielt auf API-Level 19 (KitKat) oder höher
    • Verwendet Android 4.4 oder höher
    • Verwendet Jetpack (AndroidX) , die Erfüllung dieser Version Anforderungen beinhaltet:
      • com.android.tools.build:gradle v3.2.1 oder höher
      • compileSdkVersion 28 oder später
  • Legen Sie ein physisches Gerät oder einen verwenden Emulator , um Ihre Anwendung auszuführen.
    Beachten Sie, dass Firebase SDKs mit einer Abhängigkeit von Google Play - Dienste das Gerät oder Emulator erfordern installiert Google Play - Dienste zu haben.

  • Melden Sie sich bei Firebase mit Ihrem Google - Konto.

Wenn Sie nicht bereits über ein Android - Projekt und möchte nur ein Produkt Firebase auszuprobieren, können Sie einen unserer Download quickstart Proben .

Erstellen Sie ein Firebase-Projekt

Bevor Sie Ihrer Android-App Firebase hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, um eine Verbindung zu Ihrer Android-App herzustellen. Besuchen Sie verstehen Firebase Projekte mehr über Projekte Firebase zu lernen.

Registrieren Sie Ihre App bei Firebase

Um Firebase in Ihrer Android-App zu verwenden, müssen Sie Ihre App bei Ihrem Firebase-Projekt registrieren. Das Registrieren Ihrer App wird oft als "Hinzufügen" Ihrer App zu Ihrem Projekt bezeichnet.

  1. Gehen Sie auf die Firebase Konsole .

  2. Im Zentrum des Projekts Übersichtsseite klicken Sie auf das Android - Symbol ( ) oder App hinzufügen den Setup - Workflow zu starten.

  3. Geben Sie Ihre App-Paketnamen im Android Paketname Feld.

  4. (Optional) Geben Sie weitere Informationen zur App: App Spitznamen und Debug - Signaturzertifikat SHA-1.

  5. Klicken Sie auf Registrieren App.

Eine Firebase-Konfigurationsdatei hinzufügen

  1. Fügen Sie Ihrer App die Firebase Android-Konfigurationsdatei hinzu:

    1. Klicken Sie auf Download google-services.json auf Ihre Firebase Android Konfigurationsdatei zu erhalten ( google-services.json ).

    2. Verschieben Sie Ihre Konfigurationsdatei in das Modulverzeichnis (App-Ebene) Ihrer App.

  2. So aktivieren Sie Firebase Produkte in Ihrer Anwendung, fügen Sie die Google-Dienste - Plugin , um Ihre Gradle Dateien.

    1. In Ihrer Root-Ebene (Projektebene) Gradle Datei ( build.gradle ), fügen Sie Regeln für den Google - Service Gradle Plugin enthalten. Überprüfen Sie, ob Sie auch über das Maven-Repository von Google verfügen.

      buildscript {
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
        }
      
        dependencies {
          // ...
      
          // Add the following line:
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
        }
      }
      
      allprojects {
        // ...
      
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // ...
        }
      }
      
    2. In Ihrem Modul (app-Ebene) Gradle Datei ( in der Regel app/build.gradle ), gilt die Google - Service Gradle Plugin:

      apply plugin: 'com.android.application'
      // Add the following line:
      apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
      android {
        // ...
      }
      

Firebase SDKs zu Ihrer App hinzufügen

  1. Mit Hilfe der Firebase Android BoM , erklärt die Abhängigkeit für die Firebase Cloud Messaging Android - Bibliothek in Ihrem Modul (app-Ebene) Gradle Datei ( in der Regel app/build.gradle ).

    Für ein optimales Benutzererlebnis mit Firebase Cloud Messaging, empfehlen wir Google Analytics ermöglicht in Ihrem Firebase - Projekt und das Hinzufügen des Firebase SDK für Google Analytics in Ihrer App.

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare 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'
    }
    

    Durch die Verwendung des Firebase Android BoM werden, Ihre App immer kompatible Versionen der Firebase Android - Bibliotheken verwenden.

    (Alternative) Deklarieren Firebase Bibliothek Abhängigkeiten , ohne die BoM mit

    Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

    Beachten Sie, dass , wenn Sie mehrere Firebase Bibliotheken in Ihrer Anwendung verwenden wir mit der BoM empfehlen Bibliothek Versionen zu verwalten, die sicherstellt , dass alle Versionen kompatibel sind.

    dependencies {
        // Declare 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:23.0.0'
        implementation 'com.google.firebase:firebase-analytics:20.0.0'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare 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-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    Durch die Verwendung des Firebase Android BoM werden, Ihre App immer kompatible Versionen der Firebase Android - Bibliotheken verwenden.

    (Alternative) Deklarieren Firebase Bibliothek Abhängigkeiten , ohne die BoM mit

    Wenn Sie die Firebase-Stückliste nicht verwenden möchten, müssen Sie jede Firebase-Bibliotheksversion in ihrer Abhängigkeitszeile angeben.

    Beachten Sie, dass , wenn Sie mehrere Firebase Bibliotheken in Ihrer Anwendung verwenden wir mit der BoM empfehlen Bibliothek Versionen zu verwalten, die sicherstellt , dass alle Versionen kompatibel sind.

    dependencies {
        // Declare 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-ktx:23.0.0'
        implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
    }
    

  2. Synchronisieren Sie Ihre App, um sicherzustellen, dass alle Abhängigkeiten über die erforderlichen Versionen verfügen.

Greifen Sie auf das Registrierungstoken zu

Um eine Nachricht an ein bestimmtes Gerät zu senden, müssen Sie das Registrierungstoken dieses Geräts kennen. Da Sie das Token in ein Feld in der Benachrichtigungskonsole eingeben müssen, um dieses Tutorial abzuschließen, stellen Sie sicher, dass Sie das Token kopieren oder sicher aufbewahren, nachdem Sie es abgerufen haben.

Beim ersten Start Ihrer App generiert das FCM SDK ein Registrierungstoken für die Client-App-Instanz. Wenn Sie einzelne Geräte oder Gerätegruppen erstellen ausrichten möchten, müssen Sie dieses Token für den Zugriff durch die Erweiterung FirebaseMessagingService und zwingende onNewToken .

In diesem Abschnitt wird beschrieben, wie Sie das Token abrufen und Änderungen am Token überwachen. Da das Token nach dem ersten Start rotiert werden kann, wird dringend empfohlen, das neueste aktualisierte Registrierungstoken abzurufen.

Das Registrierungstoken kann sich ändern, wenn:

  • Die App wird auf einem neuen Gerät wiederhergestellt
  • Der Benutzer deinstalliert/installiert die App neu
  • Der Benutzer löscht App-Daten.

Abrufen des aktuellen Registrierungs-Tokens

Wenn Sie das aktuelle Token abrufen müssen, rufen FirebaseMessaging.getInstance().getToken() :

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();
        }
    });

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()
})

Token-Generierung überwachen

Die onNewToken Rückruf ausgelöst wird, wenn ein neues Token erzeugt wird.

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(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);
}

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)
}

Nachdem Sie das Token erhalten haben, können Sie es an Ihren App-Server senden und mit Ihrer bevorzugten Methode speichern.

Senden Sie eine Testbenachrichtigungsnachricht

  1. Installieren Sie die App und führen Sie sie auf dem Zielgerät aus.

  2. Stellen Sie sicher, dass sich die App auf dem Gerät im Hintergrund befindet.

  3. Öffnen Sie die Benachrichtigungen Komponist und wählen Sie Neue Mitteilung.

  4. Geben Sie den Nachrichtentext ein.

  5. Wählen Sie Senden Testnachricht.

  6. Im Feld mit der Bezeichnung eines FCM Registrierungstoken hinzufügen, geben Sie den Registrierungstoken Sie in einem früheren Abschnitt dieses Handbuchs erhalten.

  7. klicken Sie auf Test

Nachdem Sie auf Test sollte das gezielte Client - Gerät (mit der App im Hintergrund) tray die Benachrichtigung in den Systembenachrichtigungen erhalten.

Für einen Einblick in die Nachrichtenübermittlung zu Ihrer Anwendung finden Sie in der FCM - Reporting - Dashboard , das die Anzahl der gesendeten Nachrichten und geöffnet auf Apple und Android - Geräte, zusammen mit den Daten für „Eindrücke“ (Mitteilungen gesehen werden von den Benutzern) für Android - Anwendungen aufzeichnet.

Nächste Schritte

Nachrichten an Apps im Vordergrund senden

Nach dem erfolgreichen Anmeldung Nachrichten , während der App im Hintergrund gesendet hat, siehe Empfangen von Nachrichten in einem Android - App zu Vordergrund Apps loszulegen senden.

Gehen Sie über Benachrichtigungen hinaus

Wenn Sie über Benachrichtigungen hinausgehen und Ihrer App andere, erweiterte Verhaltensweisen hinzufügen möchten, lesen Sie: