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 poziomów architektury opisanych na tej stronie.

  2. Backend FCM, który (wraz z innymi funkcjami) akceptuje żądania wiadomości, realizuje zwielokrotnienie 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. Warstwa transportowa 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 dla 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 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 wiadomości 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, a następnie wysyła je do warstwy transportu specyficznej dla platformy.
      3. Gdy urządzenie jest w trybie online, wiadomość jest do niego wysyłana przez warstwę transportową specyficzną dla platformy.
      4. Na urządzeniu aplikacja kliencka odbiera wiadomość lub powiadomienie.