FCM repose sur l'ensemble de composants suivants, qui créent, transportent et reçoivent des messages :
Outils permettant de composer ou de créer des requêtes de message. Le compositeur de notifications fournit une option basée sur une interface graphique pour créer des requêtes de notification. Pour une automatisation complète et la prise en charge de tous les types de messages, vous devez créer des requêtes de message dans un environnement de serveur de confiance compatible avec le SDK Admin Firebase ou le protocole de serveur FCM. Cet environnement peut être Cloud Functions for Firebase, App Engine, ou votre propre serveur d'applications.

Le backend FCM, qui (entre autres fonctions) accepte les requêtes de message, effectue la diffusion des messages par thème et génère des métadonnées de message telles que l'ID de message.
Une couche de transport au niveau de la plate-forme, qui achemine le message vers l'appareil cible, gère la remise des messages et applique une configuration spécifique à la plate-forme, le cas échéant. Cette couche de transport comprend les éléments suivants :
- Couche de transport Android (ATL, Android Transport Layer) pour les appareils Android avec les services Google Play
- Apple Push Notification Service (APNs) pour les appareils Apple
Protocole Web Push pour les applications Web
Le SDK FCM sur l'appareil de l'utilisateur, où la notification s'affiche ou le message est géré en fonction de l'état de l'application (premier plan/arrière-plan) et de toute logique d'application pertinente.
Flux du cycle de vie
- Enregistrer des appareils pour recevoir des messages de FCM. Une instance d'une application cliente s'enregistre pour recevoir des messages, en obtenant un jeton d'enregistrement qui identifie de manière unique l'instance de l'application.
- Envoyer et recevoir des messages en aval.
- Envoyer un message Le serveur d'applications envoie des messages à l'application cliente :
- Le message est composé, soit dans le compositeur de notifications, soit dans un environnement de confiance, et une requête de message est envoyée au backend FCM.
- Le backend FCM reçoit la requête de message, génère un ID de message et d'autres métadonnées, puis l'envoie à la couche de transport spécifique à la plate-forme.
- Lorsque l'appareil est en ligne, le message est envoyé via la couche de transport spécifique à la plate-forme.
- Sur l'appareil, l'application cliente reçoit le message ou la notification.
- Envoyer un message Le serveur d'applications envoie des messages à l'application cliente :