Die Serverseite von Firebase Cloud Messaging besteht aus zwei Komponenten:
- Das von Google bereitgestellte FCM-Backend.
- Ihren Anwendungsserver 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 Anwendungsserver oder Ihre vertrauenswürdige Serverumgebung sendet Nachrichtenanfragen an das FCM-Backend, das die Nachrichten dann an Client-Apps weiterleitet, die auf den Geräten der Nutzer ausgeführt werden.
Mit den Anwendungsserverprotokollen Firebase Admin SDK oder FCM können Sie Nachrichtenanfragen erstellen und an die folgenden Zieltypen senden:
- Name des Themas
- Bedingung
- FCM-Registrierungstoken
- Name der Gerätegruppe (eingestellt, wird am 29. September 2027 entfernt)
Sie können Nachrichten mit einer Benachrichtigungs-Nutzlast aus vordefinierten Feldern, einer Daten-Nutzlast aus Ihren eigenen benutzerdefinierten Feldern oder einer Nachricht mit beiden Arten von Nutzlast senden. Weitere Informationen finden Sie unter Nachrichtentypen.
Anforderungen an die vertrauenswürdige Serverumgebung
Ihre App-Serverumgebung muss die folgenden Kriterien erfüllen:
- Kann korrekt formatierte Nachrichtenanfragen an das FCM-Backend senden.
- Anfragen verarbeiten und mit exponentiellem Backoff noch einmal senden können.
- Kann Serverautorisierungsdaten und Clientregistrierungstokens sicher speichern.
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:
| Anmeldedaten | Beschreibung |
|---|---|
| Projekt-ID | Eine eindeutige Kennung für Ihr Firebase-Projekt, die in Anfragen an den HTTP-Endpunkt FCM v1 verwendet wird. Dieser Wert ist in der Firebase Consoleim Bereich „Einstellungen“ verfügbar. |
| Registrierungstoken | Ein eindeutiger Tokenstring, der jede Client-App-Instanz identifiziert. Das Registrierungstoken ist für das Senden von 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 erstellt wird und auf dem Tab Cloud Messaging im Bereich Einstellungen der Firebase-Konsole verfügbar ist. Die Absender-ID ist mit der Projektnummer identisch. Die Absender-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. Folgen Sie der Anleitung unter Sendeanfragen autorisieren, um Zugriffstokens zu erstellen und zu rotieren. |
Serveroption auswählen
Sie müssen sich für eine Methode zur Interaktion mit FCM-Servern entscheiden: entweder mit dem Firebase Admin SDK oder der FCM HTTP v1 API. Aufgrund der Unterstützung gängiger Programmiersprachen und der praktischen Methoden zur Authentifizierung und Autorisierung ist die Firebase Admin SDK die empfohlene Methode.
Für die Interaktion mit FCM-Servern stehen folgende Optionen zur Verfügung:
Firebase Admin SDK, das Node, Java, Python, C# und Go unterstützt.
Die FCM HTTP v1 API, eine REST API mit sicherer Autorisierung und flexiblen plattformübergreifenden Messaging-Funktionen (das Firebase Admin SDK basiert auf diesem Protokoll und bietet alle damit verbundenen Vorteile).
Firebase Admin SDK
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:
- 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 Abos beenden
- Nachrichtennutzlasten erstellen, die auf verschiedene Zielplattformen zugeschnitten sind
Informationen zum Einrichten des Firebase Admin SDK finden Sie unter Firebase Admin SDK zu Ihrem Server hinzufügen. Wenn Sie bereits ein Firebase-Projekt haben, beginnen Sie mit SDK hinzufügen. Aktivieren Sie außerdem die Firebase Cloud Messaging API (V1) auf der Seite Cloud Messaging-Einstellungen für Ihr Projekt. Nachdem das Firebase Admin SDK installiert ist, können Sie mit dem Schreiben von Logik zum Erstellen von Sendeanfragen beginnen.
FCM HTTP v1 API
FCM bietet die FCM HTTP v1 API für Entwickler, die ein Rohserverprotokoll bevorzugen.
Zum Senden einer Nachricht sendet der Anwendungsserver eine POST-Anfrage mit einem HTTP-Header und einem HTTP-Text, der aus JSON-Schlüssel/Wert-Paaren besteht. Weitere Informationen zu den Header- und Textoptionen finden Sie unter Nachricht mit der FCM HTTP v1 API senden.