Catch up on highlights from Firebase at Google I/O 2023. Learn more

Przegląd architektury FCM

FCM opiera się na następującym zestawie komponentów, które budują, transportują i odbierają wiadomości:

  1. Narzędzia do tworzenia lub tworzenia żądań wiadomości. Kompozytor powiadomień udostępnia opartą na graficznym interfejsie użytkownika opcję tworzenia żądań powiadomień. Aby uzyskać pełną automatyzację i obsługę wszystkich typów wiadomości , musisz tworzyć żądania wiadomości w środowisku zaufanego serwera , które obsługuje pakiet Firebase Admin SDK lub protokoły serwera FCM. Tym środowiskiem mogą być Cloud Functions dla Firebase, App Engine lub własny serwer aplikacji.

    Schemat trzech warstw architektury opisanych na tej stronie.

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

  3. Warstwa transportowa na poziomie platformy, która kieruje wiadomość do urządzenia docelowego, obsługuje dostarczanie wiadomości i stosuje konfigurację specyficzną dla platformy tam, gdzie to konieczne. 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 (APN) dla urządzeń Apple
    • Protokół Web Push dla aplikacji internetowych

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

Przepływ cyklu życia

  • Zarejestruj urządzenia, aby odbierać wiadomości z FCM . Wystąpienie aplikacji klienckiej rejestruje się w celu odbierania komunikatów, uzyskując token rejestracji, który jednoznacznie identyfikuje wystąpienie aplikacji.
  • Wysyłaj i odbieraj wiadomości podrzędne .
    • Wysłać wiadomość. Serwer aplikacji wysyła komunikaty do aplikacji klienckiej:
      1. Wiadomość jest tworzona w kompozytorze powiadomień lub w 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 przez warstwę transportową specyficzną dla platformy.
      4. Na urządzeniu aplikacja kliencka odbiera wiadomość lub powiadomienie.