Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Basée sur le modèle de publication/abonnement, la messagerie thématique FCM vous permet d'envoyer un message à plusieurs appareils qui se sont abonnés à un thème spécifique. Vous rédigez les messages de sujet selon vos besoins, et FCM se charge de les acheminer et de les distribuer de manière fiable aux bons appareils.
Par exemple, les utilisateurs d'une application locale de prévisions des marées peuvent s'abonner à un thème "Alertes sur les courants de marée" et recevoir des notifications sur les conditions optimales pour la pêche en eau salée dans des zones spécifiques. Les utilisateurs d'une application sportive peuvent s'abonner aux mises à jour automatiques des scores des matchs en direct de leurs équipes préférées.
Voici quelques points à retenir concernant les thèmes :
La messagerie thématique est idéale pour les contenus tels que la météo ou d'autres informations accessibles au public.
Les messages thématiques sont optimisés pour le débit plutôt que pour la latence. Pour une distribution rapide et sécurisée à des appareils uniques ou à de petits groupes d'appareils, ciblez les messages sur les jetons d'enregistrement, et non sur les thèmes.
Si vous devez envoyer des messages à plusieurs appareils par utilisateur, envisagez d'utiliser la messagerie de groupe d'appareils pour ces cas d'utilisation.
La messagerie thématique accepte un nombre illimité d'abonnements pour chaque thème. Toutefois, FCM applique des limites dans les domaines suivants :
Une instance d'application ne peut pas être abonnée à plus de 2 000 sujets.
Si vous utilisez l'importation par lot pour abonner des instances d'application, chaque requête est limitée à 1 000 instances d'application.
La fréquence des nouveaux abonnements est limitée par projet. Si vous envoyez trop de requêtes d'abonnement sur une courte période, les serveurs FCM répondront avec une réponse 429 RESOURCE_EXHAUSTED ("quota dépassé"). Réessayez avec un intervalle exponentiel entre les tentatives.
Abonner l'application cliente à un sujet
Les applications clientes peuvent s'abonner à n'importe quel sujet existant ou en créer un. Lorsqu'une application cliente s'abonne à un nouveau nom de sujet (qui n'existe pas encore pour votre projet Firebase), un sujet portant ce nom est créé dans FCM et n'importe quel client peut ensuite s'y abonner.
Pour vous abonner à un thème, appelez subscribeToTopic() avec le nom du thème. Cette méthode renvoie un Future, qui se résout lorsque l'abonnement a réussi :
Pour se désabonner, appelez unsubscribeFromTopic() avec le nom du thème.
subscribeToTopic() et unsubscribeFromTopic() ne sont pas compatibles avec les clients Web. Pour savoir comment gérer les abonnements des utilisateurs Web, consultez Envoyer des messages à des thèmes sur le Web/JavaScript.
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/05 (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/05 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nBased on the publish/subscribe model, FCM topic messaging allows you to send a message\nto multiple devices that have opted in to a particular topic. You compose topic messages as\nneeded, and FCM handles routing and delivering the message reliably to the right\ndevices.\n\nFor example, users of a local tide\nforecasting app could opt in to a \"tidal currents alerts\" topic and receive\nnotifications of optimal saltwater fishing conditions in specified areas. Users of a sports app\ncould subscribe to automatic updates in live game scores for their favorite\nteams.\n\nSome things to keep in mind about topics:\n\n- Topic messaging is best suited for content such as weather, or other publicly\n available information.\n\n- Topic messages are **optimized for throughput rather than latency** . For fast,\n secure delivery to single devices or small groups of devices,\n [target messages to registration tokens](/docs/cloud-messaging/send-message#send_messages_to_specific_devices),\n not topics.\n\n- If you need to send messages to multiple devices *per user* , consider\n [device group messaging](/docs/cloud-messaging/send-message#send_messages_to_device_groups)\n for those use cases.\n\n- Topic messaging supports unlimited subscriptions for each topic. However, FCM\n enforces limits in these areas:\n\n - One app instance can be subscribed to no more than 2000 topics.\n - If you are using [batch import](https://developers.google.com/instance-id/reference/server#manage_relationship_maps_for_multiple_app_instances) to subscribe app instances, each request is limited to 1000 app instances.\n - The frequency of new subscriptions is rate-limited per project. If you send too many subscription requests in a short period of time, FCM servers will respond with a `429 RESOURCE_EXHAUSTED` (\"quota exceeded\") response. Retry with exponential backoff.\n\nSubscribe the client app to a topic\n\nClient apps can subscribe to any existing topic, or they can create a new\ntopic. When a client app subscribes to a new topic name (one that does\nnot already exist for your Firebase project), a new topic of that name is\ncreated in FCM and any client can subsequently subscribe to it.\n\nTo subscribe to a topic, call `subscribeToTopic()` with the topic name. This method\nreturns a `Future`, which resolves when the subscription succeeded: \n\n await FirebaseMessaging.instance.subscribeToTopic(\"topic\");\n\nTo unsubscribe, call `unsubscribeFromTopic()` with the topic name.\n\n`subscribeToTopic()` and `unsubscribeFromTopic()` are not supported for web\nclients. To learn how to manage subscriptions for web users, see\n[Send messages to topics on Web/JavaScript](https://firebase.google.com/docs/cloud-messaging/js/topic-messaging).\n\nNext steps\n\n- Learn how to [send topic messages](/docs/cloud-messaging/send-message#send-messages-to-topics).\n- Learn how to [Manage topic subscriptions on the server](/docs/cloud-messaging/manage-topics)."]]