Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Überblick über die FCM-Architektur

FCM basiert auf dem folgenden Satz von 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 Benachrichtigungsanforderungen. Für die vollständige Automatisierung und Unterstützung für alle Nachrichtentypen , müssen Sie Nachrichtenanforderungen in einer vertrauenswürdigen bauen Server - Umgebung , die die Firebase Admin SDK oder die FCM - Server - Protokolle unterstützt. Bei dieser Umgebung kann es sich um Cloud Functions for Firebase, App Engine oder Ihren eigenen App-Server handeln.

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

  2. Das FCM-Backend, das (neben anderen Funktionen) Nachrichtenanfragen entgegennimmt, Nachrichten über Themen auffächert und Nachrichtenmetadaten wie die Nachrichten-ID generiert.

  3. 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 Transport Layer (ATL) für Android-Geräte mit Google Play-Diensten
    • Apple Push Notification Service (APNs) für iOS-Geräte
    • Web-Push-Protokoll für Web-Apps

  4. Das FCM SDK auf dem Gerät des Benutzers, auf dem die Benachrichtigung angezeigt oder die Nachricht entsprechend dem Vordergrund-/Hintergrundzustand der App und jeglicher relevanter Anwendungslogik behandelt wird.

Lebenszyklusablauf

  • Registrieren Geräte auf Nachrichten von FCM zu erhalten. Eine Instanz einer Client-App registriert sich zum Empfangen von Nachrichten und erhält ein Registrierungstoken, das die App-Instanz eindeutig identifiziert.
  • Senden und Empfangen von Downstream - Nachrichten.
    • Eine Nachricht schicken. Der App-Server sendet Nachrichten an die Client-App:
      1. Die Nachricht wird entweder im Notifications Composer oder in der 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.