Omówienie architektury FCM

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

  1. narzędzia do tworzenia i kompilowania żądań wiadomości, Kreator powiadomień udostępnia opartą na GUI opcję tworzenia żądań powiadomień. Aby uzyskać pełną automatyzację i obsługę wszystkich typów wiadomości, musisz utworzyć żą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 Engine lub Twój własny serwer aplikacji.

    Schemat trzech warstw architektury opisanych na tej stronie.

  2. Backend FCM, który (wraz z innymi funkcjami) akceptuje żądania wiadomości, przeprowadza zwielokrotnienie wiadomości za pomocą tematów i generuje metadane wiadomości, takie jak identyfikator wiadomości.

  3. Warstwa transportu na poziomie platformy, która kieruje wiadomość na urządzenie docelowe, obsługuje dostarczanie wiadomości i w stosownych przypadkach stosuje konfigurację specyficzną dla platformy. 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 FCM SDK 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 oraz odpowiedniej logiki 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.