Mensajería de temas en Flutter

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