Omówienie architektury FCM

FCM opiera się na zestawie komponentów, które tworzą, przesyłają i odbierają wiadomości:

  1. Narzędzia do tworzenia i budowania próśb o zgodę na wykorzystanie wiadomości. Kreator powiadomień udostępnia opcję tworzenia żądań powiadomień opartą na GUI. 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. Może to być Cloud Functions dla Firebase, App Engine lub Twój własny serwer aplikacji.

    Schemat 3 warstw architektury opisanych na tej stronie.

  2. Backend FCM, który (między innymi) akceptuje żądania wiadomości, wykonuje rozsyłanie 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 wiadomość do urządzenia docelowego, obsługuje dostarczanie wiadomości i w stosownych przypadkach stosuje konfigurację właściwą dla platformy. Te warstwy transportowe obejmują:

    • warstwa transportowa Androida (Android transport layer, ATL), która jest ograniczona do zatwierdzonych urządzeń z Androidem z Usługami Google Play, przeglądarek Chrome i określonych ofert sprzętowych Google;
    • usługę Apple Push Notification (APNs) na urządzeniach Apple,
    • Protokół Web Push dla aplikacji internetowych

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

Przepływ cyklu życia

  • Rejestrowanie urządzeń, aby otrzymywać wiadomości z FCM Instancja aplikacji klienckiej rejestruje się, aby otrzymywać wiadomości, i uzyskuje token rejestracji, który jednoznacznie identyfikuje instancję aplikacji.
  • wysyłać i odbierać wiadomości downstream,
    • Wyślij wiadomość. Serwer aplikacji wysyła wiadomości do aplikacji klienckiej:
      1. Wiadomość jest tworzona w Kreatorze powiadomień lub w zaufanym środowisku, a prośba o jej wysłanie jest wysyłana do backendu FCM.
      2. Backend FCM otrzymuje żądanie wiadomości, generuje identyfikator wiadomości i inne metadane, a następnie wysyła je do warstwy transportowej właściwej dla danej platformy.
      3. Gdy urządzenie jest online, wiadomość jest wysyłana na urządzenie przez warstwę transportową odpowiednią dla danej platformy.
      4. Aplikacja kliencka na urządzeniu otrzymuje wiadomość lub powiadomienie.