Przegląd architektury FCM

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

  1. Narzędzia do tworzenia lub tworzenia żądań wiadomości. Kompozytor powiadomień zapewnia opcję opartą na graficznym interfejsie użytkownika do tworzenia żądań powiadomień. Aby uzyskać pełną automatyzację i obsługę wszystkich typów wiadomości , musisz tworzyć żądania wiadomości w zaufanym środowisku serwera , które obsługuje pakiet Firebase Admin SDK lub protokół serwera FCM. Tym środowiskiem mogą 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, rozdziela wiadomości według 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 i usługami Google Play
    • Usługa Apple Push Notification (APN) dla urządzeń Apple
    • Protokół Web Push dla aplikacji internetowych

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

Przepływ cyklu życia

  • Zarejestruj urządzenia, aby otrzymywać wiadomości od FCM . Instancja aplikacji klienckiej rejestruje się w celu odbierania wiadomości, uzyskując token rejestracji, który jednoznacznie identyfikuje instancję aplikacji.
  • Wysyłaj i odbieraj wiadomości przesyłane dalej .
    • Wysłać wiadomość. Serwer aplikacji wysyła komunikaty do aplikacji klienckiej:
      1. Wiadomość jest tworzona w kreatorze powiadomień lub w zaufanym środowisku, a żądanie wiadomości jest wysyłane do zaplecza FCM.
      2. Backend FCM odbiera żądanie wiadomości, generuje identyfikator wiadomości i inne metadane, a następnie 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.