Según el modelo de publicación/suscripción, la mensajería de temas de FCM le permite enviar un mensaje a varios dispositivos que han optado por un tema en particular. Usted redacta mensajes temáticos según sea necesario y FCM se encarga de enrutar y entregar el mensaje de manera confiable a los dispositivos correctos.
Por ejemplo, los usuarios de una aplicación local de pronóstico de mareas podrían optar por un tema de "alertas de corrientes de marea" y recibir notificaciones sobre las condiciones óptimas de pesca en agua salada en áreas específicas. Los usuarios de una aplicación de deportes pueden suscribirse a actualizaciones automáticas de los resultados de los juegos en vivo de sus equipos favoritos.
Algunas cosas a tener en cuenta sobre los temas:
La mensajería temática es más adecuada para contenidos como el tiempo u otra información disponible públicamente.
Los mensajes temáticos están optimizados para el rendimiento en lugar de la latencia . Para una entrega rápida y segura a dispositivos individuales o pequeños grupos de dispositivos, oriente los mensajes a tokens de registro , no a temas.
Si necesita enviar mensajes a varios dispositivos por usuario , considere la mensajería de grupo de dispositivos para esos casos de uso.
La mensajería de temas admite suscripciones ilimitadas para cada tema. Sin embargo, FCM impone límites en estas áreas:
- Una instancia de aplicación no puede suscribirse a más de 2000 temas.
- Si utiliza la importación por lotes para suscribir instancias de aplicaciones, cada solicitud está limitada a 1000 instancias de aplicaciones.
- La frecuencia de nuevas suscripciones está limitada por proyecto. Si envía demasiadas solicitudes de suscripción en un corto período de tiempo, los servidores de FCM responderán con una respuesta
429 RESOURCE_EXHAUSTED
("cuota excedida"). Vuelva a intentarlo con retroceso exponencial.
Suscribir la aplicación cliente a un tema
Las aplicaciones cliente pueden suscribirse a cualquier tema existente o pueden crear un tema nuevo. Cuando una aplicación cliente se suscribe a un nuevo nombre de tema (uno que aún no existe para su proyecto de Firebase), se crea un nuevo tema con ese nombre en FCM y cualquier cliente puede suscribirse a él posteriormente.
Para suscribirse a un tema, llame a subscribeToTopic()
con el nombre del tema. Este método devuelve un Future
, que resuelve cuándo la suscripción se realizó correctamente:
await FirebaseMessaging.instance.subscribeToTopic("topic");
Para cancelar la suscripción, llame a unsubscribeFromTopic()
con el nombre del tema.
subscribeToTopic()
y unsubscribeFromTopic()
no son compatibles con clientes web. Para obtener información sobre cómo administrar suscripciones para usuarios web, consulte Enviar mensajes a temas en Web/JavaScript .
Próximos pasos
- Aprenda a enviar mensajes temáticos .
- Aprenda a administrar las suscripciones a temas en el servidor .