FCM basiert auf den folgenden Komponenten, die Nachrichten erstellen, transportieren und empfangen:
Tools zum Verfassen oder Erstellen von Nachrichtenanfragen. Der Notifications Composer bietet eine GUI-basierte Option zum Erstellen von Benachrichtigungsanfragen. Für eine vollständige Automatisierung und Unterstützung aller Nachrichtentypen müssen Sie Nachrichtenanforderungen in einer vertrauenswürdigen Serverumgebung erstellen, die das Firebase Admin SDK oder das FCM-Serverprotokoll unterstützt. Bei dieser Umgebung kann es sich um Cloud Functions für Firebase, App Engine oder Ihren eigenen App-Server handeln.
Das FCM-Backend, das (neben anderen Funktionen) Nachrichtenanfragen entgegennimmt, das Fanout von Nachrichten über Themen durchführt und Nachrichtenmetadaten wie die Nachrichten-ID generiert.
Eine Transportschicht auf Plattformebene, die die Nachricht an das Zielgerät weiterleitet, die Nachrichtenzustellung übernimmt und gegebenenfalls plattformspezifische Konfigurationen anwendet. Diese Transportschicht umfasst:
- Android Transport Layer (ATL) für Android-Geräte mit Google Play-Diensten
- Apple Push Notification Service (APNs) für Apple-Geräte
Web-Push-Protokoll für Web-Apps
Das FCM SDK auf dem Gerät des Benutzers, wo die Benachrichtigung angezeigt oder die Nachricht entsprechend dem Vordergrund-/Hintergrundstatus der App und der relevanten Anwendungslogik verarbeitet wird.
Lebenszyklusfluss
- Registrieren Sie Geräte, um Nachrichten von FCM zu empfangen . Eine Instanz einer Client-App registriert sich für den Empfang von Nachrichten und erhält ein Registrierungstoken, das die App-Instanz eindeutig identifiziert.
- Senden und empfangen Sie Downstream-Nachrichten .
- Eine Nachricht schicken. Der App-Server sendet Nachrichten an die Client-App:
- Die Nachricht wird entweder im Notifications Composer oder in einer vertrauenswürdigen Umgebung erstellt und eine Nachrichtenanforderung an das FCM-Backend gesendet.
- Das FCM-Backend empfängt die Nachrichtenanforderung, generiert eine Nachrichten-ID und andere Metadaten und sendet sie an die plattformspezifische Transportschicht.
- Wenn das Gerät online ist, wird die Nachricht über die plattformspezifische Transportschicht an das Gerät gesendet.
- Auf dem Gerät empfängt die Client-App die Nachricht oder Benachrichtigung.
- Eine Nachricht schicken. Der App-Server sendet Nachrichten an die Client-App: