Ihre Serverumgebung und FCM

Die Serverseite von Firebase Cloud Messaging besteht aus zwei Komponenten:

  • Das FCM Backend von Google.
  • Ihr App-Server oder eine andere vertrauenswürdige Serverumgebung , in der Ihre Serverlogik ausgeführt wird, z. B. Cloud Functions for Firebase oder andere von Google verwaltete Cloud-Umgebungen.

Ihr App-Server oder Ihre vertrauenswürdige Serverumgebung sendet Nachrichtenanfragen an das FCM Backend, das Nachrichten dann an Client-Apps weiterleitet, die auf den Geräten der Nutzer ausgeführt werden.

Mit den Firebase Admin SDK oder FCM App-Serverprotokollen können Sie Nachrichtenanfragen erstellen und an die folgenden Zieltypen senden:

  • Name des Themas
  • Bedingung
  • FCM Registrierungstoken
  • Name der Gerätegruppe (nur Protokoll)

Sie können Nachrichten mit einer Benachrichtigungsnutzlast aus vordefinierten Feldern, einer Datennutzlast aus Ihren eigenen benutzerdefinierten Feldern oder einer Nachricht senden, die beide Arten von Nutzlasten enthält. Weitere Informationen finden Sie unter Nachrichtentypen.

Anforderungen an die vertrauenswürdige Serverumgebung

Ihre App-Serverumgebung muss die folgenden Kriterien erfüllen:

  • Sie muss ordnungsgemäß formatierte Nachrichtenanfragen an das FCM Backend senden können.
  • Sie muss Anfragen verarbeiten und mit exponentiellem Backoff noch einmal senden können.
  • Sie muss Serverautorisierungsanmeldedaten und Clientregistrierungstokens sicher speichern können.

Erforderliche Anmeldedaten für das Firebase-Projekt

Je nachdem, welche FCM Funktionen Sie implementieren, benötigen Sie möglicherweise die folgenden Anmeldedaten aus Ihrem Firebase-Projekt:

Qualifikation Beschreibung
Projekt-ID Eine eindeutige ID für Ihr Firebase-Projekt, die in Anfragen an den FCM v1 HTTP-Endpunkt verwendet wird. Dieser Wert ist in der Firebase Console Einstellungen Bereich verfügbar.
Registrierungstoken Ein eindeutiger Token-String, der jede Client-App-Instanz identifiziert. Das Registrierungstoken ist für Nachrichten an einzelne App-Instanzen und Gerätegruppen erforderlich. Registrierungstokens müssen geheim gehalten werden.
Sender-ID Ein eindeutiger numerischer Wert, der beim Erstellen Ihres Firebase-Projekts generiert wird. Sie finden ihn im Cloud Messaging Tab der Firebase Console im Bereich Einstellungen. Die Sender-ID entspricht der Projektnummer. Die Sender-ID wird verwendet, um jeden Absender zu identifizieren, der Nachrichten an die Client-App senden kann.
Zugriffstoken Ein kurzlebiges OAuth 2.0-Token, das Anfragen an die HTTP v1 API autorisiert. Dieses Token ist mit einem Dienstkonto verknüpft, das zu Ihrem Firebase-Projekt gehört. Informationen zum Erstellen und Rotieren von Zugriffstokens finden Sie in den Schritten unter Sendeanfragen autorisieren.

Serveroption auswählen

Sie müssen entscheiden, wie Sie mit FCM Servern interagieren möchten: entweder mit dem Firebase Admin SDK oder der FCM HTTP v1 API. Da das Firebase Admin SDK von vielen gängigen Programmiersprachen unterstützt wird und praktische Methoden zur Verarbeitung von Authentifizierung und Autorisierung bietet, ist es die empfohlene Methode.

Folgende Optionen stehen zur Interaktion mit FCM Servern zur Verfügung:

Firebase Admin SDK

Das Firebase Admin SDK übernimmt die Authentifizierung beim Backend und erleichtert das Senden von Nachrichten und das Verwalten von Themenabos. Mit dem Firebase Admin SDK, können Sie Folgendes tun:

  • Nachrichten an einzelne App-Instanzen senden
  • Nachrichten an Themen und Bedingungsanweisungen senden, die mit einem oder mehreren Themen übereinstimmen
  • Nachrichten an Gerätegruppen senden
  • App-Instanzen für Themen abonnieren und abbestellen
  • Nachrichtennutzlasten erstellen, die auf verschiedene Zielplattformen zugeschnitten sind

Informationen zum Einrichten des Firebase Admin SDK finden Sie unter Add the Firebase Admin SDK to Your Server. Wenn Sie bereits ein Firebase-Projekt haben, beginnen Sie mit dem Hinzufügen des SDK. Achten Sie außerdem darauf, dass die Firebase Cloud Messaging API (V1) auf der Seite mit den Cloud Messaging-Einstellungen für Ihr Projekt aktiviert ist. Sobald das Firebase Admin SDK installiert ist, können Sie Logik schreiben, um Sendeanfragen zu erstellen.

FCM HTTP v1 API

FCM bietet die FCM HTTP v1 API für Entwickler, die ein reines Serverprotokoll bevorzugen.

Um eine Nachricht zu senden, gibt der App-Server eine POST-Anfrage mit einem HTTP-Header und einem HTTP-Text aus, der aus JSON-Schlüssel-Wert-Paaren besteht. Weitere Informationen zu den Header- und Textoptionen finden Sie unter Nachrichten mit der FCM HTTP v1 API senden.