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:
Das 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 seine Vorteile).
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.