Omówienie architektury FCM

FCM korzysta z tych komponentów, które tworzą, przesyłają i odbierają wiadomości:

  1. narzędzia do tworzenia próśb o wiadomość; Edytor powiadomień udostępnia opcję tworzenia żądań powiadomień za pomocą interfejsu graficznego. Aby zapewnić 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 SDK Firebase Admin lub protokół serwera FCM. Może to być Cloud Functions dla Firebase, App Enginelub własny serwer aplikacji.

    Schemat 3 warstw architektury opisanych na tej stronie.

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

  3. Warstwę transportu na poziomie platformy, która kieruje wiadomość do docelowego urządzenia, obsługuje dostarczanie wiadomości i w odpowiednich przypadkach stosuje konfigurację specyficzną dla danej platformy. Ta warstwa transportu obejmuje:

    • Warstwę transportu Androida (ATL) na urządzeniach z Androidem i Usługami Google Play
    • Usługa Apple Push Notification (APNs) na urządzeniach Apple
    • Protokół Web Push w przypadku aplikacji internetowych

  4. Pakiet FCM SDK na urządzeniu użytkownika, na którym wyświetlane jest powiadomienie lub w którym wiadomość jest obsługiwana zgodnie ze stanem aplikacji (pierwszy plan/tło) i odpowiednią logiką aplikacji.

Proces cyklu życia

  • Zarejestruj urządzenia, aby otrzymywać wiadomości z FCM. instancja aplikacji klienta rejestruje się, aby otrzymywać wiadomości, uzyskując token rejestracji, który jednoznacznie identyfikuje tę instancję;
  • Wysyłanie i odbieranie wiadomości z dalszych węzłów.
    • Wyślij wiadomość. Serwer aplikacji wysyła wiadomości do aplikacji klienckiej:
      1. Wiadomość jest tworzona w narzędzie do tworzenia powiadomień lub w zaufanym środowisku, a prośba o wysłanie wiadomości jest wysyłana do backendu FCM.
      2. Backend FCM odbiera żądanie wiadomości, generuje identyfikator wiadomości i inne metadane, a następnie wysyła je do warstwy transportu specyficznej dla platformy.
      3. Gdy urządzenie jest online, wiadomość jest wysyłana na urządzenie za pomocą warstwy transportu specyficznej dla platformy.
      4. Na urządzeniu aplikacja kliencka odbiera wiadomość lub powiadomienie.