Puedes enviar y recibir mensajes para usuarios finales con chrome.gcm. Dado que se basa en Firebase Cloud Messaging (FCM), depende de un servicio externo que debas 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 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, te recomendamos abrir Firebase console y seleccionar un proyecto existente para usar o crear uno nuevo para la extensión.
Continúa a la página de configuración de Cloud Messaging.
Si tienes una cuenta de Cloud Messaging existente en este proyecto, te recomendamos copiar el ID numérico de remitente que aparece.
Si no tienes habilitado el envío de mensajes a través de la nube, deberás habilitar la API de Firebase Cloud Messaging 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, regresa a la página de configuración de Cloud Messaging y copia el ID de remitente.
Configura chrome.gcm
Ahora que tienes tu ID de remitente de Firebase, puedes configurar la extensión
para que escuche mensajes. Para comenzar, asegúrate de haber agregado el permiso gcm
al manifest.json
de tu extensión
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Ahora tienes acceso a la API de chrome.gcm
. Puedes registrarte para escuchar mensajes
push llamando a chrome.gcm.register
.
Escuchar mensajes
Una vez que la extensión registró tu ID de remitente, deberás agregar un código para administrar los mensajes entrantes.
Firebase sin Firebase
Si bien chrome.gcm
siempre pasa por Firebase, Firebase se puede configurar para que actúe como un proxy para proveedores de mensajería push externos. Por lo general, los proveedores indican de forma explícita la compatibilidad con las extensiones de Chrome, pero cualquier proveedor que admita las notificaciones push heredadas de Firebase debería funcionar. Si tu proveedor muestra compatibilidad con las notificaciones push heredadas de Firebase, pruébala. Si tienes problemas, el equipo de asistencia de los proveedores debería poder aclarar cualquier restricción en curso.
En canales y temas
chrome.gcm
usa las APIs de Firebase Messaging heredadas. Esto es importante porque la API heredada no admite canales de mensajes. Todos los mensajes que se envíen se enviarán a todos los clientes. Si la extensión de un usuario solo está interesada en un
subconjunto de mensajes, deberás filtrar.
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 teniendo un costo mayor de lo garantizado. Para solucionar este problema, crea varios proyectos a fin de replicar los canales individuales (un proyecto y un ID de remitente para cada canal). Cada 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.