FCM-Architektur – Übersicht

FCM basiert auf den folgenden Komponenten, die Nachrichten erstellen, transportieren und empfangen:

  1. Tools zum Erstellen oder Erzeugen von Nachrichtenanfragen. Der Notifications 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 for Firebase, App Engine oder Ihr eigener Anwendungsserver sein.

    Ein Diagramm der drei auf dieser Seite beschriebenen Architekturebenen.

  2. Das FCM-Backend, das unter anderem Nachrichtenanfragen akzeptiert, Nachrichten über Themen verteilt und Nachrichtenmetadaten wie die Nachrichten-ID generiert.

  3. 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

  4. Das FCM SDK auf dem Gerät des Nutzers, auf dem die Benachrichtigung angezeigt wird oder die Nachricht gemäß dem Vordergrund-/Hintergrundstatus der App und der relevanten Anwendungslogik verarbeitet wird.

Lebenszyklusablauf

  • Geräte registrieren, um Nachrichten von FCM zu erhalten Eine Instanz einer Client-App registriert sich für den Empfang von Nachrichten und erhält ein Registrierungstoken, das die App-Instanz eindeutig identifiziert.
  • Downstream-Nachrichten senden und empfangen
    • Nachricht senden Der Anwendungsserver sendet Nachrichten an die Client-App:
      1. Die Nachricht wird entweder im Notifications Composer oder in einer vertrauenswürdigen Umgebung verfasst und eine Nachrichtenanfrage wird an das FCM-Backend gesendet.
      2. Das FCM-Backend empfängt die Nachrichtenanfrage, generiert eine Nachrichten-ID und andere Metadaten und sendet sie an die plattformspezifische Transportschicht.
      3. Wenn das Gerät online ist, wird die Nachricht über die plattformspezifische Transportschicht an das Gerät gesendet.
      4. Auf dem Gerät empfängt die Client-App die Nachricht oder Benachrichtigung.