FCM korzysta z tych komponentów, które tworzą, przesyłają i odbierają wiadomości:
- Narzędzia do tworzenia próśb o wiadomości. Kreator powiadomień umożliwia tworzenie próśb o powiadomienia za pomocą interfejsu GUI. Aby w pełni zautomatyzować proces i obsługiwać wszystkie typy 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 FirebaseApp Engine lub Twój własny serwer aplikacji.  
- Backend FCM, który (między innymi) akceptuje żądania wysyłania wiadomości, rozsyła 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ść na docelowe urządzenie, obsługuje dostarczanie wiadomości i w odpowiednich przypadkach stosuje konfigurację specyficzną dla platformy. Ta warstwa transportowa obejmuje: - Warstwa transportowa Androida (ATL) na urządzenia z Androidem i Usługami Google Play
- usługa Apple Push Notification (APNs) na urządzeniach Apple,
- Protokół powiadomień Web Push dla aplikacji internetowych 
 
- Pakiet SDK FCM na urządzeniu użytkownika, na którym wyświetlane jest powiadomienie lub wiadomość jest obsługiwana zgodnie ze stanem aplikacji (na pierwszym planie lub w tle) i odpowiednią logiką aplikacji. 
Proces cyklu życia
- Rejestrowanie urządzeń w celu otrzymywania wiadomości z FCM Instancja aplikacji klienta rejestruje się, aby otrzymywać wiadomości, i uzyskuje token rejestracji, który jednoznacznie ją identyfikuje.
- Wysyłanie i odbieranie wiadomości do urządzenia.
- Wyślij wiadomość. Serwer aplikacji wysyła wiadomości do aplikacji klienckiej:- Wiadomość jest tworzona w kompozytorze powiadomień lub w zaufanym środowisku, a do backendu FCM wysyłane jest żądanie wiadomości.
- Backend FCM odbiera żądanie wiadomości, generuje identyfikator wiadomości i inne metadane oraz wysyła je do warstwy transportowej specyficznej dla platformy.
- Gdy urządzenie jest online, wiadomość jest wysyłana do niego przez warstwę transportową specyficzną dla platformy.
- Aplikacja kliencka na urządzeniu otrzymuje wiadomość lub powiadomienie.
 
 
- Wyślij wiadomość. Serwer aplikacji wysyła wiadomości do aplikacji klienckiej: