Présentation de l'architecture FCM
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
FCM repose sur l'ensemble de composants suivants qui créent, transportent et reçoivent les messages :
Outils permettant de composer ou de créer des messages de requête. Le compositeur de notifications fournit une option basée sur l'interface utilisateur pour créer des demandes 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'application.

Le backend FCM, qui (entre autres fonctions) accepte les demandes de messages, effectue la diffusion des messages via des thèmes et génère des métadonnées de message telles que l'ID du message.
Une couche de transport au niveau de la plate-forme, qui achemine le message vers l'appareil cible, gère la distribution des messages et applique la configuration spécifique à la plate-forme, le cas échéant. Cette couche de transport inclut :
Le SDK FCM sur l'appareil de l'utilisateur, où la notification est affichée 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 de cycle de vie
- Enregistrez les appareils pour recevoir des messages de FCM. Une instance d'application cliente s'enregistre pour recevoir des messages et obtient un jeton d'enregistrement qui identifie de manière unique l'instance de l'application.
- Envoyez et recevez des messages en aval.
- Envoyer un message Le serveur d'application envoie des messages à l'application cliente :
- Le message est composé, soit dans le compositeur de notifications, soit dans un environnement de confiance, et une demande de message est envoyée au backend FCM.
- Le backend FCM reçoit la demande 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 lui est envoyé via la couche transport spécifique à la plate-forme.
- Sur l'appareil, l'application cliente reçoit le message ou la notification.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/29 (UTC).
[null,null,["Dernière mise à jour le 2025/08/29 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nFCM relies on the following set of components that build, transport, and receive\nmessages:\n\n1. Tooling to compose or build message requests. The Notifications composer\n provides a GUI-based option for creating notification requests.\n For full automation and support for all\n [message types](https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages),\n you must build message requests in a trusted\n [server environment](https://firebase.google.com/docs/cloud-messaging/server)\n that supports the Firebase Admin SDK or the FCM server protocol.\n This environment could be Cloud Functions for Firebase, App Engine,\n or your own app server.\n\n2. The FCM backend, which (among other functions) accepts message requests,\n performs fanout of messages via topics, and generates message metadata such\n as the message ID.\n\n3. A platform-level transport layer, which routes the message to the targeted\n device, handles message delivery, and applies platform-specific\n configuration where appropriate. This transport layer includes:\n\n - Android transport layer (ATL) for Android devices with Google Play services\n - Apple Push Notification service (APNs) for Apple devices\n - Web push protocol for web apps\n\n | **Note:** Platform-level transport layers are outside the core FCM product. FCM messages routed to a platform-level transport layer may be subject to terms specific to that platform rather than FCM's terms of service. Android message routing via ATL falls under the [Google APIs terms of service](https://www.google.com/url?q=https://developers.google.com/terms/&sa=D&ust=1558536676246000&usg=AFQjCNFrlRMLv51d1S9NkWxD0IoYSqJ2Ng).\n4. The FCM SDK on the user's device, where the notification is displayed or\n the message is handled according to the app's foreground/background state\n and any relevant application logic.\n\nLifecycle flow\n\n- **Register devices to receive messages from FCM**. An instance of a client app registers to receive messages, obtaining a registration token that uniquely identifies the app instance.\n- **Send and receive downstream messages** .\n - Send a message. The app server sends messages to the client app:\n 1. The message is composed, either in the Notifications composer or a trusted environment, and a message request is sent to the FCM backend.\n 2. The FCM backend receives the message request, generates a message ID and other metadata, and sends it to the platform specific transport layer.\n 3. When the device is online, the message is sent via the platform-specific transport layer to the device.\n 4. On the device, the client app receives the message or notification."]]