Puedes enviar y recibir mensajes a usuarios finales con chrome.gcm. Debido a que está construido sobre Firebase Cloud Messaging (FCM), se basa en un servicio externo que necesitas configurar. Este instructivo te guiará por todos los pasos necesarios para obtenerlo que funcionan en tu extensión.
Si bien chrome.gcm
sigue es compatible, se creó hace más de una década, antes de
el estándar Push. En general, siempre es mejor usar la Web
estándar, en lugar de una API específica de extensión. A menos que tengas una necesidad específica
Para usar chrome.gcm
, recomendamos usar Push.
Requisitos previos
Para usar chrome.gcm
, debes configurar una cuenta de Firebase
de servicio predeterminada.
Una vez que hayas creado una cuenta, deberás abrir Firebase console y selecciona un proyecto existente para usar, o bien crea uno nuevo para tu extensión.
Continúa a la página de configuración de Cloud Messaging.
Si ya tienes una cuenta de Cloud Messaging en este proyecto, te recomendamos copia el ID de remitente numérico que aparece en la lista.
Si no habilitaste el envío de mensajes a través de la nube, deberás habilitar el SDK de Firebase. La API de Cloud Messaging para el proyecto dentro de Google Cloud. En la siguiente puedes ver dónde hay un vínculo directo a esta página en la configuración.
Una vez habilitada, regresa a la página de configuración de Cloud Mensajes y copia el ID del remitente.
Configurar chrome.gcm
Ahora que tienes tu ID de remitente de Firebase, puedes configurar tu extensión
para escuchar mensajes. Para comenzar, asegúrate de haber agregado el elemento gcm
.
permiso al archivo manifest.json
de tu extensión
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Ahora tienes acceso a la API de chrome.gcm
. Puedes registrarte para escuchar las notificaciones
mensajes llamando a chrome.gcm.register
Escuchar mensajes
Una vez que la extensión registró tu ID de remitente, debes agregar un código para administrar mensajes entrantes.
Firebase sin Firebase
Si bien chrome.gcm
siempre pasa por Firebase, Firebase se puede configurar para lo siguiente:
funciona como proxy para proveedores
de mensajería push externos. Por lo general, los proveedores
indicar explícitamente la compatibilidad con las extensiones de Chrome; sin embargo, cualquier proveedor que admita
Las notificaciones push heredadas de Firebase deberían funcionar. Si tu proveedor menciona
compatibilidad con notificaciones push heredadas de Firebase, pruébala. Si experimentas
problemas, la asistencia de los proveedores debería poder aclarar cualquier restricción que
en la nube.
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
enviados irán a cada cliente. Si la extensión de un usuario solo está interesada en una
un subconjunto de mensajes, deberás filtrarlo tú mismo.
Si bien Firebase comienza como una cuenta gratuita, se te cobrará una vez que superes un determinado umbral de uso. Si planeas enviar mensajes a grupos específicos, el filtrado del cliente puede costar más de lo que se garantiza. Puedes solucionar esto creando varios proyectos para replicar canales individuales (un proyecto y un ID de remitente para cada canal). Cualquier extensión puede registrarse para múltiples IDs de remitente, hasta 100.
Como alternativa, si necesitas asistencia con los canales o quieres usar notificaciones push sin pasar por Firebase, puedes usar la API de Push.