Przegląd architektury FCM

FCM opiera się na następującym zestawie składników, które budują, 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. 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. 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 rozproszenie 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 powiadomień push Apple (APN) dla urządzeń Apple
    • 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

  • Zarejestruj urządzenia, aby otrzymywać 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 typu downstream .
    • Wysłać wiadomość. Serwer aplikacji wysyła komunikaty do aplikacji klienckiej:
      1. Wiadomość jest tworzona w edytorze 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 za pośrednictwem warstwy transportowej specyficznej dla platformy.
      4. Na urządzeniu aplikacja kliencka odbiera wiadomość lub powiadomienie.