Omówienie architektury FCM

FCM wykorzystuje ten zestaw komponentów, które tworzą, transportują i odbierają treści wiadomości:

  1. narzędzia do tworzenia i kompilowania żądań wiadomości, Kreator powiadomień udostępnia opcję tworzenia powiadomień opartą na GUI. Pełna automatyzacja i pomoc dla wszystkich typy wiadomości, musisz tworzyć żądania wiadomości w środowisko serwera który obsługuje pakiet SDK Firebase Admin lub protokół serwera FCM. Może to być środowisko Cloud Functions dla Firebase, App Engine, lub własnego serwera aplikacji.

    Schemat trzech warstw architektury opisanych na tej stronie.

  2. Backend FCM, który (oraz inne funkcje) akceptuje żądania wiadomości, generuje rozpowszechniania wiadomości za pomocą tematów i generuje metadane wiadomości, takie jak jako identyfikator wiadomości.

  3. Warstwa transportu na poziomie platformy, która kieruje wiadomość do docelowych odbiorców – obsługuje dostarczanie wiadomości i stosuje specyficzne dla danej platformy w odpowiednich przypadkach. Warstwa transportowa obejmuje:

    • Warstwa transportowa Androida (ATL) na urządzeniach z Androidem z Usługami Google Play
    • Usługa Apple Push Notification (APN) dla urządzeń Apple
    • Protokół Web push dla aplikacji internetowych

  4. pakiet SDK FCM na urządzeniu użytkownika, na którym wyświetla się powiadomienie lub wiadomość jest obsługiwana zgodnie ze stanem aplikacji na pierwszym planie/w tle i odpowiednią logikę aplikacji.

Proces cyklu życia

  • Zarejestruj urządzenia, na które mają być wysyłane wiadomości z FCM. Instancja aplikacji klienckiej rejestruje się, aby odbierać wiadomości, uzyskując token rejestracji, który jednoznacznie identyfikuje instancję aplikacji.
  • Wysyłanie i odbieranie wiadomości w pobliżu.
    • Wyślij wiadomość. Serwer aplikacji wysyła komunikaty do aplikacji klienckiej:
      1. Wiadomość jest tworzona w narzędziu do tworzenia powiadomień lub w zaufanym środowisku, a żądanie jest wysyłane do backendu FCM.
      2. Backend FCM odbiera żądanie wiadomości, generuje identyfikator wiadomości i inne metadane oraz wysyła je do warstwy transportowej określonej platformy.
      3. Gdy urządzenie jest w trybie online, wiadomość jest do niego wysyłana przez warstwę transportową specyficzną dla platformy.
      4. Wiadomość lub powiadomienie otrzyma na urządzeniu aplikacja kliencka.