FCM opiera się na zestawie komponentów, które tworzą, przesyłają i odbierają wiadomości:
Narzędzia do tworzenia i budowania próśb o wiadomość. 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.

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.
Warstwa transportowa na poziomie platformy, która kieruje wiadomość do urządzenia docelowego, obsługuje dostarczanie wiadomości i w odpowiednich przypadkach stosuje konfigurację właściwą dla platformy. Ta warstwa transportowa obejmuje:
- Warstwa transportowa Androida (ATL) na urządzeniach z Androidem i Usługami Google Play
- usługę Apple Push Notification (APNs) na urządzeniach Apple,
Protokół Web Push dla aplikacji internetowych
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 oraz z odpowiednią logiką aplikacji.
Przepływ cyklu życia
- Zarejestruj urządzenia, 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:
- Wiadomość jest tworzona w Kreatorze powiadomień lub w zaufanym środowisku, a prośba o jej wysłanie jest wysyłana do backendu FCM.
- 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.
- Gdy urządzenie jest online, wiadomość jest wysyłana na urządzenie przez warstwę transportową właściwą dla danej platformy.
- Aplikacja kliencka na urządzeniu odbiera wiadomość lub powiadomienie.
- Wyślij wiadomość. Serwer aplikacji wysyła wiadomości do aplikacji klienckiej: