Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La mensajería por temas de FCM se basa en el modelo de publicación y suscripción, y permite enviar un mensaje
a varios dispositivos que hayan aceptado un tema específico. Redacta tantos mensajes por temas como
sea necesario y FCM se encargará de enrutarlos y entregarlos de manera confiable a los dispositivos
correctos.
Por ejemplo, los usuarios de una app de pronóstico local
de mareas podrían aceptar un tema de “alertas de corrientes de marea” y recibir
notificaciones de condiciones óptimas de pesca en agua salada en áreas específicas. Los usuarios de una app
de deportes se pueden suscribir a actualizaciones automáticas para recibir los resultados de los partidos de sus equipos favoritos
en vivo.
Estos son algunos puntos que debes tener en cuenta sobre los temas:
Los mensajes por temas son ideales para contenido como el clima o sobre otra información disponible de
manera pública.
Los mensajes por temas están optimizados en términos de capacidad de procesamiento, no de latencia. Para enviar
mensajes con rapidez y seguridad a dispositivos individuales
o a un grupo pequeño de estos, orienta los mensajes por tokens de registro
en lugar de temas.
En los casos de uso donde necesites enviar mensajes a varios dispositivos por usuario, considera
enviar
mensajes a grupos de dispositivos.
Los mensajes por temas admiten una cantidad ilimitada de suscripciones para cada tema. Sin embargo, FCM
aplica límites en estas áreas:
No se puede suscribir una instancia de app a más de 2,000 temas.
Si usas la importación por lotes
para suscribir las instancias de app, cada solicitud tiene un límite de 1,000 instancias.
La frecuencia de las suscripciones nuevas tiene un límite por proyecto. Si envías
demasiadas solicitudes de suscripción en un período breve, los servidores de FCM enviarán
una respuesta 429 RESOURCE_EXHAUSTED (“se superó la cuota”). Vuelve
a intentarlo con una retirada exponencial.
Suscribe la app cliente a un tema
Las apps cliente se pueden suscribir a cualquier tema existente o pueden crear un tema
nuevo. Cuando una app cliente se suscribe a un nombre de tema nuevo (uno que
no existe aún para tu proyecto de Firebase), se crea
un tema nuevo con ese nombre en FCM y cualquier cliente se puede suscribir a él posteriormente.
Para suscribirte a un tema, llama a subscribeToTopic() con el nombre del tema. Este método
muestra un Future, que se resuelve cuando se realiza correctamente la suscripción:
Para anular la suscripción, llama a unsubscribeFromTopic() con el nombre del tema.
subscribeToTopic() y unsubscribeFromTopic() no son compatibles con clientes
web. Si quieres aprender a administrar las suscripciones para los usuarios web, consulta
Envía mensajes a temas en la Web y JavaScript.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]