Puedes enviar y recibir mensajes a los usuarios finales con chrome.gcm. Se basa en Firebase Cloud Messaging (FCM) y se basa en un servicio externo que debes configurar. En este instructivo, se explican todos los pasos necesarios para que funcione en tu extensión.
Si bien chrome.gcm
sigue siendo compatible, se creó hace más de una década antes del estándar Push. En general, siempre se recomienda usar el estándar web en lugar de una API específica de la extensión. A menos que tengas una necesidad específica para usar chrome.gcm
, te recomendamos usar Push.
Requisitos previos
Para usar chrome.gcm
, deberás configurar una cuenta de Firebase.
Una vez que hayas creado una cuenta, abre Firebase console y selecciona un proyecto existente para usarlo, o crea uno nuevo para tu extensión.
Continúa a la página de configuración de Cloud Messaging.
Si tienes una cuenta de mensajería en la nube existente en este proyecto, debes copiar el ID numérico del remitente que aparece.
Si no tienes habilitada la mensajería en la nube, deberás habilitar la API de Cloud Messaging de Firebase para el proyecto en Google Cloud. En la siguiente imagen, puedes ver dónde hay un vínculo directo a esta página en la configuración de Firebase.
Una vez habilitado, vuelve a la página de configuración de Cloud Messaging y copia el ID del remitente.
Configura chrome.gcm
Ahora que tienes el ID de remitente de Firebase, puedes configurar tu extensión
para escuchar mensajes. Para comenzar, asegúrate de haber agregado el permiso gcm
a la manifest.json
de tu extensión.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Ahora tienes acceso a la API de chrome.gcm
. Para registrarte y escuchar mensajes push, llama a chrome.gcm.register
.
Escuchar mensajes
Una vez que la extensión haya registrado tu ID de remitente, deberás agregar código para controlar los mensajes entrantes.
Firebase sin Firebase
Si bien chrome.gcm
siempre pasa por Firebase, este se puede configurar para
actuar como proxy de proveedores externos de mensajes push. Por lo general, los proveedores enumeran de forma explícita la compatibilidad con las extensiones de Chrome. Sin embargo, cualquier proveedor que admita las notificaciones push heredadas de Firebase debería funcionar. Si tu proveedor indica que admite las notificaciones push heredadas de Firebase, pruébalas. Si experimentas problemas, el equipo de asistencia de los proveedores debe poder aclarar las restricciones que podrían aplicarse.
Acerca de los canales y los temas
chrome.gcm
usa las APIs de Firebase Messaging heredadas. Esto es importante,
porque la API heredada no admite canales de mensajes. Cada mensaje enviado se enviará a cada cliente. Si a la extensión de un usuario solo le interesa un subconjunto de mensajes, deberás filtrar por tu cuenta.
Si bien Firebase comienza como una cuenta gratuita, se te cobrará una vez que superes un límite de uso determinado. Si planeas enviar mensajes a grupos específicos, el filtrado del cliente puede terminar costando más de lo que se garantiza. Para evitar este problema, puedes crear varios proyectos para replicar canales individuales (un proyecto y un ID de remitente para cada canal). Cualquier extensión puede registrarse para varios IDs de remitente, hasta 100.
Como alternativa, si necesitas compatibilidad con canales o quieres usar notificaciones push sin pasar por Firebase, puedes usar la API de Push.