FCM basiert auf den folgenden Komponenten, die Nachrichten erstellen, übertragen und empfangen:
Tools zum Erstellen von Nachrichtenanfragen. Der Benachrichtigungs-Composer bietet eine GUI-basierte Option zum Erstellen von Benachrichtigungsanfragen. Für die 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 für 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 Transportebene auf Plattformebene, die die Nachricht an das Zielgerät weiterleitet, die Nachrichtenzustellung übernimmt und bei Bedarf 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 Nutzers, auf dem die Benachrichtigung angezeigt oder die Nachricht entsprechend dem Vordergrund-/Hintergrundstatus der App und der relevanten Anwendungslogik verarbeitet wird.
Lebenszyklus
- Geräte registrieren, um Nachrichten von FCM zu empfangen. Eine Instanz einer Client-App registriert sich, um Nachrichten zu empfangen, 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-Composer 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.
- Die Client-App empfängt die Nachricht oder Benachrichtigung auf dem Gerät.
- Nachricht senden Der App-Server sendet Nachrichten an die Client-App: