FCM basiert auf den folgenden Komponenten, die Nachrichten erstellen, transportieren und empfangen:
Tools zum Schreiben oder Erstellen von Nachrichtenanfragen. Der Benachrichtigungs-Composer bietet eine GUI-basierte Option zum Erstellen von Benachrichtigungsanfragen. Für eine vollständige Automatisierung und Unterstützung aller Nachrichtentypen müssen Sie Nachrichtenanfragen in einer vertrauenswürdigen Serverumgebung erstellen, die das Firebase Admin SDK oder das FCM-Serverprotokoll unterstützt. Diese Umgebung kann Cloud Functions for Firebase, App Engine oder Ihr eigener App-Server sein.
Das FCM-Backend, das unter anderem Nachrichtenanfragen akzeptiert, Nachrichten über Themen verteilt und Nachrichtenmetadaten wie die Nachrichten-ID generiert.
Eine Transportschicht auf Plattformebene, die die Nachricht an das Zielgerät weiterleitet, die Nachrichtenzustellung verarbeitet und gegebenenfalls eine plattformspezifische Konfiguration anwendet. Diese Transportschicht umfasst:
- Android-Transportschicht (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 Nutzers, auf dem die Benachrichtigung angezeigt oder die Mitteilung gemäß dem Status „Im Vordergrund“/„Im Hintergrund“ der App und der relevanten Anwendungslogik verarbeitet wird.
Lebenszyklusfluss
- Registrieren Sie Geräte für den Empfang von Nachrichten von FCM. Eine Instanz einer Client-App registriert sich zum Empfangen von Nachrichten und erhält ein Registrierungstoken, das die App-Instanz eindeutig identifiziert.
- Downstream-Nachrichten senden und empfangen
- Nachricht senden Der App-Server sendet Nachrichten an die Client-App:
- Die Nachricht wird entweder im Benachrichtigungs-Editor oder in einer vertrauenswürdigen Umgebung verfasst und eine Nachrichtenanfrage wird an das FCM-Backend gesendet.
- Das FCM-Backend empfängt die Nachrichtenanfrage, 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.
- Nachricht senden Der App-Server sendet Nachrichten an die Client-App: