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:
await FirebaseMessaging.instance.subscribeToTopic("topic");
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.
Próximos pasos
- Aprende a enviar mensajes por temas.
- Aprende a administrar las suscripciones a temas en el servidor.