FCM-Architektur – Übersicht

FCM verwendet die folgenden Komponenten zum Erstellen, Übertragen und Empfangen von Nachrichten:

  1. Tools zum Erstellen von Nachrichtenanfragen Mit dem Benachrichtigungs-Composer können Sie Benachrichtigungsanfragen über eine grafische Benutzeroberfläche erstellen. Für die vollständige Automatisierung und Unterstützung für alle 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.

    Ein Diagramm der drei Architekturschichten, die auf dieser Seite beschrieben werden.

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

  3. Eine Transportebene auf Plattformebene, die die Nachricht an das Zielgerät weiterleitet, die Zustellung der Nachricht verarbeitet und gegebenenfalls plattformspezifische Konfigurationen anwendet. Diese Transportebene 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 oder die Nachricht entsprechend dem Vordergrund-/Hintergrundstatus der App und der relevanten Anwendungslogik verarbeitet wird.

Lebenszyklus-Flow

  • 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:
      1. Die Nachricht wird entweder im Benachrichtigungs-Composer oder in einer vertrauenswürdigen Umgebung erstellt und eine Nachrichtenanfrage wird an das FCM-Back-End gesendet.
      2. Das FCM-Back-End empfängt die Nachrichtenanfrage, generiert eine Nachrichten-ID und andere Metadaten und sendet sie an die plattformspezifische Transportebene.
      3. Wenn das Gerät online ist, wird die Nachricht über die plattformspezifische Transportebene an das Gerät gesendet.
      4. Auf dem Gerät empfängt die Client-App die Nachricht oder Benachrichtigung.