Firebase Cloud Messaging ( FCM ), anteriormente conocido como Google Cloud Messaging (GCM), es un servicio en la nube multiplataforma para mensajes y notificaciones para aplicaciones Android , iOS y web , que desde abril de 2025 se puede utilizar sin costo alguno. [ 2 ] Firebase Cloud Messaging permite a los desarrolladores de aplicaciones de terceros enviar notificaciones o mensajes desde servidores alojados por FCM a los usuarios de la plataforma o usuarios finales .
El servicio lo proporciona Firebase , una subsidiaria de Google . El 21 de octubre de 2014, Firebase anunció que había sido adquirida por Google por una cantidad no revelada. [ 3 ] El sitio web oficial de Google Cloud Messaging señala a Firebase Cloud Messaging (FCM) como la nueva versión de GCM. [ 4 ] Firebase es una plataforma móvil que ayuda a los usuarios a desarrollar aplicaciones móviles y web. Firebase Cloud Messaging es uno de los muchos productos que forman parte de la plataforma Firebase. En la plataforma, los usuarios pueden integrar y combinar diferentes funciones de Firebase tanto en aplicaciones web como móviles.
Historia
Firebase Cloud Messaging (FCM) forma parte de la plataforma Firebase, un modelo de servicio en la nube que automatiza el desarrollo de backend o Backend-as-a-service (BaaS). Tras la adquisición de Firebase por parte de Google en 2014, algunos productos y tecnologías de la plataforma Firebase se integraron con los servicios existentes de Google. El servicio de notificaciones móviles de Google, Google Cloud Messaging (GCM), fue reemplazado por FCM en 2016. El 10 de abril de 2018, Google eliminó GCM y el 29 de mayo de 2019, el servidor y la API del cliente de GCM quedaron obsoletos. [ 5 ] FCM se convirtió en el reemplazo de GCM. Sin embargo, FCM es compatible con los kits de desarrollo de software (SDK) de Google existentes. [ 6 ]
Firebase Cloud Messaging es un servicio de mensajería multiplataforma en el que el usuario puede enviar mensajes sin costo. FCM es compatible con varias plataformas, incluidas Android e iOS. [ 7 ] Google lanzó soporte para aplicaciones web el 17 de octubre de 2016, incluidas las aplicaciones web móviles . [ 8 ] En FCM, los desarrolladores de aplicaciones de terceros pueden enviar notificaciones push y mensajes a través de una interfaz de programación de aplicaciones (API) a los usuarios finales. [ 9 ] Después de que los usuarios habilitan el consentimiento para recibir notificaciones push, pueden recibir información o datos en tiempo real para la sincronización.
Desarrollo
FCM hereda la infraestructura central de GCM, pero simplifica el desarrollo del lado del cliente. Tanto GCM como FCM ofrecen cifrado, notificaciones push y mensajería, así como compatibilidad con SDK nativos para Android e iOS . Ambos requieren una entidad de terceros entre la aplicación cliente y el entorno de confianza, lo que puede generar retrasos en la comunicación entre el terminal móvil y el servidor de la aplicación. [ 9 ] FCM admite los protocolos de servidor HTTP y XMPP , idénticos a los de GCM.
Los desarrolladores no necesitan escribir registros individuales ni reintentos de suscripción en la aplicación cliente. [ 5 ] FCM y GCM manejan los mensajes a través de las mismas instrucciones; sin embargo, en lugar de servidores de conexión GCM, los mensajes se transmiten a través de servidores FCM. El kit de desarrollo de software (SDK) de FCM excluye la escritura de lógica de reintento de registro o suscripción individual para un proceso de desarrollo de cliente más corto. El SDK de FCM proporciona una nueva solución de notificaciones que permite a los desarrolladores usar las notificaciones sin servidor de Firebase en una consola web, basadas en información de Firebase Analytics. FCM permite el envío ilimitado de mensajes ascendentes y descendentes. [ 7 ]
Capacidades clave
Firebase Cloud Messaging (FCM) cuenta con tres funcionalidades principales. La primera permite al usuario recibir mensajes de notificación o de datos que pueden ser descifrados por el código de la aplicación. La segunda es la segmentación de mensajes. Estos pueden enviarse a la aplicación cliente mediante diferentes métodos: desde la plataforma FCM a dispositivos individuales, grupos de dispositivos específicos o dispositivos suscritos a dominios temáticos particulares. La tercera funcionalidad clave es el canal de conexión entre las aplicaciones cliente y el servidor. FCM permite enviar mensajes de diversos tipos desde dispositivos o aplicaciones cliente seleccionados a través del canal FCM. [ 10 ]
Detalles técnicos
Firebase Cloud Messaging envía notificaciones y mensajes a dispositivos que tienen instaladas aplicaciones específicas compatibles con Firebase. Agregar compatibilidad con FCM a una aplicación requiere varios pasos: agregar compatibilidad al proyecto de Android Studio , obtener tokens de registro e implementar controladores para identificar las notificaciones de mensajes. [ 11 ] Las notificaciones de mensajes se pueden enviar a través de la consola de Firebase con una opción de segmentación de usuarios específica.
Arquitectura FCM
La arquitectura FCM incluye tres componentes: un servidor de conexión FCM, un entorno de confianza con un servidor de aplicaciones basado en HTTP o XMPP y funcionalidad en la nube, y una aplicación cliente. El envío y la recepción de mensajes requieren un entorno o servidor seguro para crear, dirigir y enviar mensajes, y una aplicación cliente iOS, Android o web para recibirlos. [ 12 ] Hay dos tipos de mensajes que los desarrolladores pueden enviar con FCM: mensajes de notificación y mensajes de datos. Los mensajes de notificación son mensajes que FCM muestra en el dispositivo y que el SDK de FCM gestiona automáticamente. Los mensajes de datos son procesados por la aplicación cliente. [ 13 ] Por lo tanto, los mensajes de notificación se utilizan cuando el desarrollador requiere que FCM gestione la visualización de notificaciones para las aplicaciones cliente. Los mensajes de datos se utilizarán cuando el desarrollador requiera que los mensajes se procesen en la aplicación cliente.

FCM puede entregar mensajes dirigidos a aplicaciones mediante tres métodos: a un solo dispositivo, a un grupo de dispositivos o a dispositivos suscritos a temas. Los desarrolladores crean y envían mensajes dirigidos a un grupo selecto de usuarios en el "Compositor de notificaciones". [ 11 ] Los mensajes enviados con FCM se integran con Google Analytics para realizar un seguimiento de la conversión y la interacción del usuario. [ 14 ]
Implementación
El proceso de implementación consta de dos componentes clave. Primero, se requiere un entorno seguro para enviar y recibir mensajes, que permita a FCM u otros servidores de aplicaciones facilitar la transacción de mensajes. Segundo, se necesita una aplicación cliente (iOS, Android o web [JavaScript]) compatible con la plataforma seleccionada.
La ruta de implementación para FCM se inicia con la configuración del SDK de FCM siguiendo las instrucciones prescritas para la plataforma elegida. Tras la configuración, se debe desarrollar la aplicación cliente. En la aplicación cliente, se añaden el manejo de mensajes, la lógica de suscripción a temas y otras funcionalidades necesarias. Durante este paso, también se pueden enviar mensajes de prueba desde el compositor de notificaciones. A continuación, se desarrolla el servidor de aplicaciones para construir la lógica de envío. El entorno base del servidor se crea sin código. [ 5 ]
Flujo de arquitectura
Primero, es necesario registrar el dispositivo y configurarlo para que pueda recibir mensajes de FCM. La instancia de la aplicación cliente se registrará y se le asignará un token de registro o token FCM, emitido por los servidores de conexión de FCM, que le proporcionará un identificador único. A continuación, la instancia de la aplicación podrá enviar y recibir mensajes descendentes. El envío de mensajes descendentes se refiere al envío de una notificación push desde el servidor de la aplicación hacia la aplicación cliente. Este proceso consta de cuatro pasos. Primero, una vez creado un mensaje en el compositor de notificaciones o en otro entorno seguro, se enviará una solicitud del mensaje al backend de FCM. Segundo, el backend de FCM recibirá y aceptará la solicitud del mensaje, preparará los mensajes para cada tema especificado, creará metadatos del mensaje, como un ID de mensaje, y los enviará a una capa de transporte específica de la plataforma. Tercero, el mensaje se enviará a través de la capa de transporte específica de la plataforma a un dispositivo en línea. La capa de transporte a nivel de plataforma se encarga de enrutar el mensaje a un dispositivo específico, gestionar la entrega del mensaje y aplicar configuraciones específicas a la plataforma. Cuarto, la aplicación cliente recibirá la notificación o el mensaje a través de su dispositivo. [ 15 ]
Funciones y herramientas adicionales
Analítica
Firebase ofrece herramientas de análisis gratuitas y sin restricciones para ayudar al usuario a obtener información sobre los clics en anuncios y el uso de aplicaciones por parte de los clientes finales. Junto con otras funciones de Firebase, Firebase Analytics permite al usuario explorar y utilizar diversas funcionalidades, desde las tasas de clics hasta los fallos de la aplicación. [ 16 ]
Configuración remota de Firebase
Se trata de un sencillo almacén de clave-valor que reside en la nube y permite al usuario realizar modificaciones que la aplicación puede leer. Además de la función básica, Firebase Remote Config también incluye un creador de audiencias que ayuda al usuario a crear audiencias personalizadas y realizar pruebas A/B. [ 16 ]
Compatibilidad multiplataforma
Las API empaquetadas en SDK únicos para iOS, Android, JavaScript y C++ junto con la compatibilidad multiplataforma que ofrece FCM permiten al desarrollador expandirse a diferentes plataformas sin modificar la infraestructura. [ 16 ]
Compatibilidad con Web Push
Los desarrolladores pueden implementar las API estándar de Web Push de IETF y comenzar a dirigirse a navegadores web. En Chrome, los desarrolladores pueden enviar mensajes a Chrome en Android o páginas de Chrome en Mac, Windows y Linux. Las funciones añadidas para la compatibilidad con Web Push incluyen la mensajería de temas y la capacidad de enviar mensajes a combinaciones de temas. [ 16 ]
Mensajería temática
Los desarrolladores pueden enviar un único mensaje a varios dispositivos. Este método permite notificar a usuarios con intereses comunes, como eventos deportivos, artistas o géneros musicales. Los desarrolladores deben publicar un mensaje en FCM, que se entrega automáticamente a los dispositivos suscritos al tema seleccionado. La aplicación no tiene límite en la cantidad de suscriptores para uno o varios temas. [ 16 ]
Mensajería combinada de temas
Si los usuarios están suscritos a diferentes temas, para evitar que se publique el mismo mensaje en distintos temas y que los usuarios reciban mensajes duplicados, los desarrolladores pueden usar la API actualizada. Los desarrolladores pueden establecer condiciones específicas para que FCM entregue el mensaje solo a los usuarios que cumplan con los criterios de la condición. [ 16 ]
Informes de entrega de mensajes
Los informes de entrega de mensajes (MDR) son generados por la herramienta de informes de FCM, que permite a los desarrolladores obtener información analítica sobre la entrega de mensajes. En el MDR, los desarrolladores pueden evaluar el alcance de los mensajes enviados a usuarios específicos al visualizar los datos de los mensajes enviados a diferentes SDK de FCM (Android, iOS). [ 17 ]
Análisis del embudo de notificaciones
La plataforma FCM incorpora un análisis de embudo de notificaciones (NFA). Mediante esta herramienta, los desarrolladores pueden visualizar el comportamiento y las tendencias de los usuarios a partir de los datos relacionados con las respuestas a notificaciones específicas. Los tipos de datos de notificación que se pueden analizar son "Notificaciones enviadas", "Notificaciones abiertas" y el número de usuarios únicos. Se puede generar un informe de análisis desde el NFA. Los desarrolladores también pueden personalizar y crear los embudos de notificaciones. [ 17 ]
Principales preocupaciones
Preocupaciones de seguridad
FCM acorta el proceso de diseño e implementación de aplicaciones móviles. Gracias a la funcionalidad disponible para enviar mensajes de prueba a través del Compositor de notificaciones en la consola de Firebase, el proceso de prueba también se acorta. Las soluciones de mensajería basadas en la nube también presentan riesgos de seguridad y privacidad que deben mitigarse y considerarse antes de su implementación en un proyecto. El desarrollo de la computación en la nube implica una estructura de red abierta y una agrupación elástica de recursos compartidos, lo que aumenta la necesidad de establecer medidas de seguridad en la nube. [ 18 ]
Una preocupación de seguridad radica en la posible explotación de las claves del servidor, almacenadas en los archivos APK de la aplicación Android de FCM . De explotarse, esto permitiría la distribución de notificaciones push a todos los usuarios de la plataforma Firebase. GCM ya ha informado sobre vulnerabilidades de seguridad relacionadas con actividades de phishing y publicidad maliciosa.
La protección contra amenazas de seguridad implica varios pasos y puede tener implicaciones adicionales. Desactivar el servicio de mensajería en la nube impedirá las transacciones inmediatas. Sin embargo, esto podría detener otras aplicaciones instaladas en el dispositivo bloqueado que dependen del servicio FCM. [ 18 ] Una posible solución es bloquear un canal de notificación específico o cancelar la suscripción a un tema. Otras soluciones implican configurar sistemas de notificación de tráfico de mensajes para detectar información maliciosa que se envía a través de la plataforma del servicio FCM. [ 19 ] Para implementar esta solución se requieren pasos adicionales. El usuario debe identificar desde el principio el canal de conexión o tema que potencialmente utiliza la aplicación maliciosa.
preocupaciones sobre la privacidad
La mensajería basada en la nube también plantea riesgos y problemas de privacidad. Los hackers maliciosos podrían vulnerar la seguridad de la plataforma Firebase Cloud Messaging y obtener el ID de registro de la aplicación del usuario u otra información confidencial. Un ejemplo de vulneración de seguridad es el envío de mensajes privados de la cuenta de redes sociales del usuario al dispositivo del hacker. Para garantizar la privacidad de la plataforma, el usuario puede implementar esquemas de protección de extremo a extremo en torno a los canales de comunicación abiertos que ofrecen los servicios de mensajería en la nube, los cuales no son seguros. FCM proporciona a los usuarios cifrado de la carga útil. [ 18 ]
Referencias
- ↑ "Panel de estado de Firebase" . status.firebase.google.com . Consultado el 1 de octubre de 2024 .
- ↑ "Precios de Firebase" . Google Developers . Consultado el 20 de abril de 2025 .
- ↑ Tamplin, James. "¡Firebase se une a Google!" . Firebase, Inc. Consultado el 21 de octubre de 2014 .
- ↑ "Google Cloud Messaging - sitio web oficial" . Consultado el 20 de abril de 2025 .
- 1 2 3 Kantamani, S. (2020). Firebase Cloud Messaging. Recuperado el 7 de septiembre de 2020, de https://medium.com/developermind/using-firebase-cloud-messaging-for-remote-notifications-in-ios-d35de1dc67b2 Archivado el 4 de enero de 2021, en Wayback Machine
- ↑ Tondolo, Musa (27 de julio de 2018). "Understanding Firebase: Part 1(Firebase Cloud Messaging)" . Medium . Recuperado el 17 de noviembre de 2020 .
- 1 2 Moroney, L. (2017). Firebase Cloud Messaging. En The Definitive Guide to Firebase (pp. 163-188). Apress, Berkeley, CA.
- ↑ Novet, J. (2016). Google lanza Firebase Cloud Messaging para la web. Recuperado el 7 de octubre de 2020, de https://venturebeat.com/2016/10/17/google-launches-firebase-cloud-messaging-for-the-web/
- 1 2 Albertengo, G., Debele, FG, Hassan, W., & Stramandino, D. (2020). Sobre el rendimiento de los servicios web, Google Cloud Messaging y Firebase Cloud Messaging. Digital Communications and Networks, 6(1), 31-37.
- ↑ "Firebase Cloud Messaging" . Firebase . Consultado el 16 de noviembre de 2020 .
- 1 2 Yilmaz, YS, Aydin, BI y Demirbas, M. (2014, diciembre). Mensajería en la nube de Google (GCM): una evaluación. En 2014 IEEE Global Communications Conference (pp. 2807-2812). IEEE.
- ↑ Mokar, MA, Fageeri, SO y Fattoh, SE (2019, septiembre). Uso de Firebase Cloud Messaging para controlar aplicaciones móviles. En 2019 International Conference on Computer, Control, Electrical, and Electronics Engineering (ICCCEEE) (págs. 1-5). IEEE
- ↑ "Acerca de los mensajes FCM" . Firebase . Consultado el 17 de noviembre de 2020 .
- ↑ "Google Analytics para Firebase" . Firebase . Consultado el 15 de mayo de 2023 .
- ↑ "Descripción general de la arquitectura de FCM" . Firebase . Consultado el 17 de noviembre de 2020 .
- 1 2 3 4 5 6 Sharma, R. (2020). ¿Qué son GCM y FCM? (Diferencias y limitaciones). Recuperado el 2 de octubre de 2020, de https://www.izooto.com/blog/everything-that-you-need-to-know-about-firebase-cloud-messaging-platform
- 1 2 "Entendiendo la entrega de mensajes" . Firebase . Consultado el 17 de noviembre de 2020 .
- 1 2 3 Esposito, Christian; Palmieri, Francesco; Choo, Kim-Kwang Raymond (marzo de 2018). "Colas de mensajes y notificaciones en la nube: desafíos y oportunidades" . IEEE Cloud Computing . 5 (2): 11– 16. doi : 10.1109/mcc.2018.022171662 . ISSN 2325-6095 . S2CID 19248242 .
- ↑ Li, Na; Du, Yanhui; Chen, Guangxuan (diciembre de 2013). "Estudio del servicio de notificaciones push de mensajería en la nube" . 2013 International Conference on Information Science and Cloud Computing Companion . IEEE. pp. 273–279 . doi : 10.1109/iscc-c.2013.132 . ISBN 978-1-4799-5245-8. S2CID 15771293 .
Enlaces externos
- Firebase Cloud Messaging - sitio web oficial
- Mensajería en la nube de Google - sitio web oficial
- Preguntas frecuentes sobre GCM y FCM
- servicios de telecomunicaciones móviles
- Google Cloud
- Tecnología de empuje