Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Votre environnement de serveur et FCM
Le côté serveur de Firebase Cloud Messaging se compose de deux éléments :
Le backend FCM fourni par Google.
Votre serveur d'application ou un autre environnement de serveur de confiance où s'exécute votre logique de serveur, comme Cloud Functions pour Firebase ou d'autres environnements cloud gérés par Google.
Le serveur de votre application ou un environnement de serveur de confiance envoie des demandes de messages au backend FCM, qui les achemine ensuite vers les applications clientes s'exécutant sur les appareils des utilisateurs.
Exigences concernant l'environnement de serveur de confiance
L'environnement de votre serveur d'application doit répondre aux critères suivants :
Être capable d'envoyer des demandes de messages correctement mises en forme au backend FCM.
Capable de stocker de manière sécurisée les identifiants d'autorisation du serveur et les jetons d'enregistrement du client.
Choisir une option de serveur
Vous devez choisir un moyen d'interagir avec les serveurs FCM : soit en utilisant Firebase Admin SDK, soit le protocole brut.
La méthode Firebase Admin SDK est recommandée, car elle est compatible avec les langages de programmation les plus courants et propose des méthodes pratiques pour gérer l'authentification et l'autorisation.
Voici quelques options pour interagir avec les serveurs FCM :
L'API Admin FCM gère l'authentification auprès du backend et facilite l'envoi de messages et la gestion des abonnements aux thèmes. Avec Firebase Admin SDK, vous pouvez :
Envoyer des messages à des appareils individuels
Envoyez des messages à des sujets et des instructions conditionnelles correspondant à un ou plusieurs sujets.
Abonner et désabonner des appareils à des thèmes
Construire des charges utiles de messages adaptées à différentes plates-formes cibles
Le SDK Admin Node.js fournit des méthodes pour envoyer des messages à des groupes d'appareils.
FCM fournit l'
API HTTP v1 FCM pour les développeurs qui préfèrent un protocole serveur brut.
Pour envoyer un message, le serveur d'application émet une requête POST avec un en-tête HTTP et un corps HTTP composé de paires clé/valeur JSON.
Pour en savoir plus sur les options d'en-tête et de corps, consultez Créer des requêtes d'envoi de serveur d'application.
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/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nYour server environment and FCM\n\nThe server side of Firebase Cloud Messaging consists of two components:\n\n- The **FCM backend** provided by Google.\n- Your **app server** or other **trusted server environment** where your server logic runs, such as [Cloud Functions for Firebase](/docs/functions) or other cloud environments managed by Google.\n\n\u003cbr /\u003e\n\nYour app server or trusted server environment sends message requests to the FCM\nbackend, which then routes messages to client apps running on users' devices.\n\nRequirements for the trusted server environment\n\nYour app server environment must meet the following criteria:\n\n- Able to send properly formatted message requests to the FCM backend.\n- Able to handle requests and resend them using [exponential back-off.](https://developers.google.com/api-client-library/java/google-http-java-client/backoff)\n- Able to securely store server authorization credentials and client registration tokens.\n\nChoosing a server option\n\nYou'll need to decide on a way to interact with FCM servers: either using the\n[Firebase Admin SDK](/docs/cloud-messaging/server#firebase-admin-sdk-for-fcm) or the raw protocol.\nBecause of its support across popular programming languages and its convenience methods for\nhandling authentication and authorization, the Firebase Admin SDK is the recommended method.\n\nOptions for interacting with FCM servers include the following:\n\n- The Firebase Admin SDK, which has support for [Node](/docs/reference/admin/node/firebase-admin.messaging), [Java](/docs/reference/admin/java/reference/com/google/firebase/messaging/package-summary), [Python](/docs/reference/admin/python/firebase_admin.messaging), [C#](/docs/reference/admin/dotnet/namespace/firebase-admin/messaging), and [Go](//godoc.org/firebase.google.com/go/messaging).\n- The [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages), a REST API with secure authorization and flexible [cross-platform messaging capabilities](/docs/cloud-messaging/send-message#customize_messages_across_platforms) (the Firebase Admin SDK is based on this protocol and provides all of its inherent advantages).\n\nFirebase Admin SDK for FCM\n\nThe Admin FCM API handles authenticating with the backend and facilitates sending\nmessages and managing topic subscriptions. With the Firebase Admin SDK, you can:\n\n- Send messages to individual devices\n- Send messages to topics and condition statements that match one or more topics.\n- Subscribe and unsubscribe devices to and from topics\n- Construct message payloads tailored to different target platforms\n\nThe Admin Node.js SDK provides\nmethods for sending messages to device groups.\n\nTo set up the Firebase Admin SDK, see [Add the\nFirebase Admin SDK to Your Server](/docs/admin/setup). If you already have a Firebase project,\nstart with [Add the SDK](/docs/admin/setup#add-sdk). Also, make sure to enable the\nCloud Messaging API in the\n[Cloud Messaging settings page](//console.firebase.google.com/project/_/settings/cloudmessaging/)\nfor your project. Then, once the Firebase Admin SDK is installed, you can start writing logic to\n[build send requests](/docs/cloud-messaging/send-message).\n| The Firebase Admin SDK provides an API for subscribing and unsubscribing devices to and from FCM topics. These operations can subscribe or unsubscribe up to 1000 device registration tokens at a time. For more information, see [Manage topics from the server](/docs/cloud-messaging/manage-topics).\n\nFCM server protocol\n\nFCM provides the [FCM HTTP v1 API](/docs/reference/fcm/rest/v1/projects.messages) for developers who prefer a raw server protocol.\n\nTo send a message, the app server issues a POST request with\nan HTTP header and an HTTP body comprised of JSON key value pairs.\nFor details on the header and body options, see\n[Build App Server Send Requests](/docs/cloud-messaging/send-message)"]]