Firebase is back at Google I/O on May 10! Register now

Überblick über die FCM-Architektur

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

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

  1. Tools zum Verfassen oder Erstellen von Nachrichtenanforderungen. 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 die FCM-Serverprotokolle unterstützt. Diese Umgebung könnte Cloud Functions for Firebase, App Engine oder Ihr eigener App-Server sein.

    Ein Diagramm der drei auf dieser Seite beschriebenen Architekturschichten.

  2. Das FCM-Backend, das (neben anderen Funktionen) Nachrichtenanfragen akzeptiert, ein Fanout von Nachrichten über Themen durchführt und Nachrichtenmetadaten wie die Nachrichten-ID generiert.

  3. Eine Transportschicht auf Plattformebene, die die Nachricht an das Zielgerät weiterleitet, die Nachrichtenzustellung handhabt und gegebenenfalls eine plattformspezifische Konfiguration 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 Benutzers, wo die Benachrichtigung angezeigt oder die Nachricht gemäß dem Vordergrund-/Hintergrundstatus der App und relevanter Anwendungslogik verarbeitet wird.

Lebenszyklusfluss

  • Registrieren Sie Geräte, 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.
  • Senden und empfangen Sie Downstream-Nachrichten .
    • Eine Nachricht schicken. 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 Nachrichtenanforderung wird an das FCM-Back-End gesendet.
      2. Das FCM-Backend empfängt die Nachrichtenanforderung, 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.