Suscripción a Temas en Notificaciones Push — Qué Es, Cómo Funciona y Se Configura

Autor: IT Sectr Publicado: 2026-03-21 Tiempo de lectura: 8 min

La Suscripción a Temas es un mecanismo de Firebase Cloud Messaging que permite agrupar dispositivos por intereses y enviar notificaciones a categorías enteras de suscriptores. En lugar de enviar a miles de Registration Token individuales, basta con enviar un mensaje a un tema. Según Firebase, 2025, la Suscripción a Temas se utiliza en aplicaciones de noticias, transmisiones deportivas y campañas de marketing para la entrega masiva de notificaciones.

Puntos Clave

  • Suscripción a Temas — suscripción de un dispositivo a un canal temático de FCM para recibir notificaciones grupales.
  • Un solo dispositivo puede suscribirse a una cantidad ilimitada de temas.
  • La suscripción se gestiona tanto desde el cliente como desde el servidor a través de la API HTTP de FCM.
  • El tema se crea automáticamente con la primera suscripción — no se requiere configuración previa.
  • Para enviar a un tema, basta con especificar su nombre en lugar de una lista de tokens.

Qué es la Suscripción a Temas en FCM

La Suscripción a Temas es un mecanismo de entrega grupal de notificaciones push en el que los dispositivos se suscriben a canales con nombre (temas) y reciben mensajes enviados a esos canales. Cada tema se identifica por un nombre de cadena, como news_sports o weather_alerts.

Cómo funcionan los temas

Cuando un dispositivo se suscribe a un tema, FCM añade su Registration Token a la lista de destinatarios de ese tema. Al enviar un mensaje al tema, FCM enruta automáticamente una copia a cada dispositivo suscrito. Firebase no limita el número de suscripciones por dispositivo — una aplicación puede suscribir a un usuario a docenas de temas simultáneamente.

Temas frente al envío individual

La principal ventaja de los temas es la escalabilidad. Para enviar una notificación a un millón de usuarios, solo se necesita una solicitud HTTP a FCM con el nombre del tema. Con el envío individual, se necesitarían un millón de solicitudes o un envío por lotes de hasta 500 tokens a la vez. Los temas también simplifican la lógica del servidor — no es necesario almacenar listas de tokens para cada categoría.

ParámetroEnvío individualSuscripción a Temas
Número de solicitudesUna por token o lote hasta 500Una por tema
Gestión de suscripcionesEn el servidor (lista de tokens)En el cliente o servidor
Grupos dinámicosRequieren actualización de listaAutomático mediante suscripción
Límite de destinatariosHasta 500 por solicitudIlimitado

Casos de uso de los temas

La Suscripción a Temas se utiliza ampliamente en aplicaciones de noticias para la categorización de contenido — suscribirse a los temas “Deportes”, “Política”, “Tecnología” permite enviar notificaciones relevantes. En el comercio electrónico, los temas se usan para notificaciones sobre descuentos en categorías específicas de productos. En mensajería y redes sociales, los temas se emplean para notificaciones de eventos en grupos.

Limitaciones y cuotas de FCM

Firebase impone restricciones al trabajar con temas. Una sola aplicación puede tener hasta 2000 temas. Cada dispositivo puede suscribirse a no más de 2000 temas. La frecuencia de operaciones de suscripción/cancelación también está limitada — no más de 3000 operaciones por minuto por proyecto. Superar estos límites resulta en un bloqueo temporal. Para proyectos con un gran número de temas, se recomienda usar condiciones en lugar de temas — FCM admite expresiones lógicas para la segmentación.

Cómo funciona la suscripción a temas

El proceso de Suscripción a Temas consta de tres etapas: inicialización de la suscripción en el cliente, registro en la infraestructura de FCM y confirmación de la operación. Tras una suscripción exitosa, el dispositivo comienza a recibir mensajes enviados a ese tema.

Ciclo de vida de la suscripción

Cuando el cliente llama al método subscribeToTopic(), el SDK de Firebase envía una solicitud a los servidores de FCM. El servidor valida la operación y añade el token del dispositivo a la lista de suscriptores del tema. FCM devuelve al cliente una confirmación de suscripción exitosa. A partir de ese momento, todos los mensajes a este tema se entregarán al dispositivo.

Creación automática de temas

No es necesario crear un tema previamente en la consola de Firebase. Cuando el primer dispositivo se suscribe a un tema con nombre news_promo, FCM lo crea automáticamente. Si el último dispositivo se da de baja, el tema permanece en el sistema pero inactivo, y se reanuda cuando se produce una nueva suscripción.

Suscripción a temas en Android

En Android, la suscripción y cancelación de temas se realiza a través del SDK de FirebaseMessaging. Los métodos subscribeToTopic() y unsubscribeFromTopic() aceptan el nombre del tema como parámetro. Las operaciones son asíncronas y requieren manejo de resultados.

Suscripción básica a un tema

Para suscribirse, simplemente llame a subscribeToTopic() con el nombre del tema objetivo. El SDK de Firebase gestiona las solicitudes de red y los reintentos automáticamente en caso de fallo. Se recomienda suscribirse a temas después de obtener exitosamente un Registration Token.

kotlin
class TopicSubscriber(private val context: Context) {

    fun subscribeToNewsTopic() {
        FirebaseMessaging.getInstance()
            .subscribeToTopic("news_latest")
            .addOnCompleteListener { task ->
                val msg = if (task.isSuccessful) {
                    "Subscribed to news topic"
                } else {
                    "Subscription failed"
                }
                Log.d("FCM", msg)
            }
    }

    fun unsubscribeFromNewsTopic() {
        FirebaseMessaging.getInstance()
            .unsubscribeFromTopic("news_latest")
            .addOnCompleteListener { task ->
                Log.d("FCM", "Sin suscripción: ${task.isSuccessful}")
            }
    }
}

Gestión de múltiples suscripciones

En aplicaciones reales, un usuario puede suscribirse a varias categorías. Para una gestión cómoda, cree una clase gestora que sincronice el estado de las suscripciones con el servidor. Cuando un usuario inicie sesión, restaure sus suscripciones desde su perfil.

kotlin
class SubscriptionManager(private val context: Context) {

    private val fcm = FirebaseMessaging.getInstance()

    suspend fun syncSubscriptions(topics: List<String>) {
        topics.forEach { topic ->
            fcm.subscribeToTopic(topic).await()
        }
    }

    suspend fun removeAllSubscriptions() {
        val savedTopics = getSavedTopics()
        savedTopics.forEach { topic ->
            fcm.unsubscribeFromTopic(topic).await()
        }
    }

    private fun getSavedTopics(): List<String> {
        return listOf("news_latest", "promotions", "updates")
    }
}

Suscripción a temas en iOS

En iOS, el proceso de suscripción a temas es idéntico al de Android en lógica, pero utiliza la API de Swift de Firebase Messaging. Los métodos subscribe y unsubscribe se llaman en la instancia de Messaging y también son asíncronos.

Implementación de la suscripción en iOS

Para suscribirse a un tema en una aplicación iOS, use el método Messaging.subscribe(). Es importante llamar a la suscripción después de la inicialización de Firebase y la obtención del Registration Token. Apple recomienda solicitar permiso de notificaciones antes de suscribirse a temas.

swift
import FirebaseMessaging

class PushTopicManager {

    func subscribeToTopic(topic: String) {
        Messaging.messaging().subscribe(toTopic: topic) { error in
            if let error = error {
                Log.e("FCM", "Error de suscripción: \(error)")
            } else {
                Log.d("FCM", "Suscrito a \(topic)")
            }
        }
    }

    func unsubscribeFromTopic(topic: String) {
        Messaging.messaging().unsubscribe(fromTopic: topic) { error in
            if let error = error {
                Log.e("FCM", "Error al cancelar suscripción: \(error)")
            }
        }
    }
}

Particularidades de las suscripciones en iOS

En iOS, la suscripción a temas también está vinculada al Registration Token que Firebase recibe de APNs. Si el token de APNs cambia (por ejemplo, tras la restauración del dispositivo), Firebase transfiere automáticamente las suscripciones al nuevo token. Sin embargo, en casos excepcionales, puede ser necesario volver a suscribirse después de una actualización del Registration Token.

Gestión de suscripciones desde el servidor

La gestión desde el servidor de suscripciones permite suscribir y cancelar dispositivos sin involucrar a la aplicación cliente. Esto es útil para administración, pruebas A/B y gestión de suscripciones desde el backend.

API HTTP de FCM para la gestión de suscripciones

Firebase proporciona una API REST para la gestión masiva de suscripciones. El endpoint /v1/projects/{project_id}/subscriptions permite suscribir hasta 1000 dispositivos en una sola solicitud. La API utiliza los Registration Tokens de los dispositivos para la identificación.

js
const admin = require("firebase-admin")

async function subscribeUsersToTopic(tokens, topic) {
    try {
        const response = await admin
            .messaging()
            .subscribeToTopic(tokens, topic)
        Log.info(`Success: ${response.successCount}`)
        Log.info(`Failures: ${response.failureCount}`)
    } catch (error) {
        Log.error("Error de suscripción", error)
    }
}

Casos de uso de la gestión desde el servidor

La gestión de suscripciones desde el servidor se utiliza en varios escenarios. Cuando un usuario se registra, el servidor lo suscribe automáticamente a temas básicos. Cuando las preferencias cambian en la versión web, el servidor sincroniza las suscripciones en el dispositivo móvil. Los administradores pueden suscribir dispositivos de prueba a temas internos para depuración. Para operaciones masivas, FCM proporciona el método Instance Group, que permite gestionar las suscripciones de un grupo de dispositivos mediante un identificador de grupo único.

Monitoreo del estado de las suscripciones

Firebase no proporciona una API integrada para verificar las suscripciones actuales de un dispositivo. Se recomienda a los desarrolladores mantener su propia base de datos de suscripciones en el servidor. En cada inicio de la aplicación, el cliente sincroniza sus suscripciones con el servidor enviando la lista de temas activos. Esto ayuda a identificar la desincronización y restaurar las suscripciones si es necesario. Para auditoría, use los registros de Firebase Cloud Functions — cada operación de suscripción/cancelación puede registrarse.

Preguntas Frecuentes

¿Cuántos temas se pueden crear en un proyecto de Firebase?

El número máximo de temas es 2000 por aplicación. Si necesita más, considere usar Grupos de Dispositivos o envío individual por tokens.

¿Cómo saber a qué temas está suscrito un dispositivo?

Firebase no proporciona una API directa para obtener la lista de suscripciones de un dispositivo. Se recomienda a los desarrolladores almacenar el estado de las suscripciones en su propio servidor y sincronizarlo con el cliente.

¿Qué sucede al cancelar la suscripción de un tema inexistente?

FCM devuelve un resultado exitoso. Firebase maneja la cancelación de un tema inexistente como una operación no-op — no se generan errores y el estado no cambia.

¿Se pueden enviar notificaciones a un tema desde la consola de Firebase?

Sí, en la consola de Firebase, en la sección Cloud Messaging, puede seleccionar un tema como público objetivo y enviar una notificación de prueba o producción a través de la interfaz web.

¿Qué tan rápido se activa una suscripción a un tema?

Normalmente, la suscripción se activa en cuestión de segundos. Sin embargo, en casos excepcionales, el retraso puede alcanzar los 30–60 segundos debido a la propagación entre los servidores de FCM.

Resumen

  • La Suscripción a Temas es un mecanismo de entrega grupal de notificaciones push a través de Firebase Cloud Messaging.
  • La suscripción se realiza desde el cliente mediante los métodos subscribeToTopic() (Android) o subscribe() (iOS).
  • Un solo dispositivo puede estar suscrito a hasta 2000 temas simultáneamente.
  • La API del servidor permite gestionar suscripciones de hasta 1000 dispositivos en una sola solicitud.
  • Un tema se crea automáticamente con la primera suscripción y no requiere configuración previa.
  • La Suscripción a Temas es preferible al envío individual cuando se trabaja con grandes audiencias.
  • Para notificaciones críticas, combine temas con envío individual para garantizar la entrega.

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también