Przegląd architektury FCM

FCM opiera się na następującym zestawie składników, które kompilują, transportują i odbierają komunikaty:

  1. Narzędzia do tworzenia lub tworzenia żądań wiadomości. Kreator powiadomień udostępnia opcję tworzenia żądań powiadomień opartą na graficznym interfejsie użytkownika. Dla pełnej automatyzacji i wsparcia dla wszystkich typów wiadomości , trzeba zbudować żądania post w zaufanym środowisku serwera , który obsługuje Firebase Admin SDK lub protokołów serwera FCM. Może to być Cloud Functions dla Firebase, App Engine lub Twój własny serwer aplikacji.

    Schemat trzech warstw architektury opisanych na tej stronie.

  2. Backend FCM, który (między innymi) akceptuje żądania wiadomości, wykonuje fanout wiadomości za pomocą tematów i generuje metadane wiadomości, takie jak identyfikator wiadomości.

  3. Warstwa transportowa na poziomie platformy, która kieruje komunikat do urządzenia docelowego, obsługuje dostarczanie komunikatów i w stosownych przypadkach stosuje konfigurację specyficzną dla platformy. Ta warstwa transportowa obejmuje:

    • Warstwa transportowa systemu Android (ATL) dla urządzeń z systemem Android z usługami Google Play
    • Usługa Apple Push Notification (APNs) dla urządzeń z systemem iOS
    • Protokół web push dla aplikacji internetowych

  4. FCM SDK na urządzeniu użytkownika, na którym jest wyświetlane powiadomienie lub komunikat jest obsługiwany zgodnie ze stanem pierwszego planu/w tle aplikacji i odpowiednią logiką aplikacji.

Przepływ cyklu życia

  • Urządzeń do odbierania wiadomości z FCM zarejestrować. Wystąpienie aplikacji klienckiej rejestruje się w celu odbierania komunikatów, uzyskując token rejestracji, który jednoznacznie identyfikuje wystąpienie aplikacji.
  • Wysyłanie i odbieranie wiadomości downstream.
    • Wysłać wiadomość. Serwer aplikacji wysyła komunikaty do aplikacji klienckiej:
      1. Wiadomość jest tworzona w kompozytorze powiadomień lub zaufanym środowisku, a żądanie wiadomości jest wysyłane do zaplecza FCM.
      2. Backend FCM odbiera żądanie komunikatu, generuje identyfikator komunikatu i inne metadane oraz wysyła je do warstwy transportowej specyficznej dla platformy.
      3. Gdy urządzenie jest w trybie online, wiadomość jest wysyłana do urządzenia za pośrednictwem warstwy transportowej specyficznej dla platformy.
      4. Na urządzeniu aplikacja kliencka odbiera wiadomość lub powiadomienie.