Probando notificaciones push con Firebase
Clase 31 de 32 • Curso de Firebase 5 para Web
Contenido del curso
Consola Web de Administración
Autenticación de Usuarios
- 6

Servicios de autenticación de Firebase
06:30 min - 7

Crear usuarios con Firebase Authentication
13:12 min - 8

Autenticación de Usuarios con Firebase: Registro y Verificación de Email
15:02 min - 9

Autenticación con Google usando Firebase en aplicaciones web
06:22 min - 10

Login con Facebook en Firebase
09:47 min - 11

Gestión de Autenticación de Usuarios con Firebase
11:42 min - 12

Gestión de usuarios en consola Firebase
05:05 min - 13

Importar y exportar usuarios de Firebase
04:17 min
Gestión de la Base de Datos
- 14

Firestore vs Realtime Database: por qué migrar
08:36 min - 15
Comparación entre Realtime Database y Firestore de Firebase
02:11 min - 16

Habilitar Firestore en Firebase Console
09:53 min - 17

Cómo insertar datos en Firestore con validación
10:53 min - 18

Consultas en Tiempo Real con Firestore para Aplicaciones Web
15:01 min - 19

Operaciones avanzadas de Firestore
13:12 min - 20

Reglas de seguridad básicas en Firestore
08:07 min - 21

Creación y gestión de índices en Firestore para optimizar consultas
07:13 min
Almacenamiento de archivos
Hosting
Notificaciones Push
Conclusiones
Domina las notificaciones push en la web con Firebase paso a paso: desde solicitar permisos y registrar el service worker, hasta generar el token, guardarlo en Firestore, desplegar en Hosting y usar Functions para suscribir a un topic y enviar mensajes en foreground y background. Aquí verás qué tocar, cómo validarlo y cómo depurar errores típicos.
¿Cómo configurar y probar notificaciones en Firebase paso a paso?
Antes de enviar mensajes, la clave es confirmar que el navegador entrega permisos, el service worker se registra y el token se genera y persiste.
¿Cómo obtener y mostrar el token del navegador?
- Imprime el token para inspeccionarlo en consola.
console.log(token);
- Flujo esencial: dar permiso de notificaciones, registrar el service worker, generar el token y guardarlo en la colección tokens de Firestore.
- Si aparece “permisos insuficientes” al insertar, ajusta reglas (ver más abajo).
¿Cómo verificar el service worker y el manifest?
- Revisa en la pestaña Application del navegador que el service worker esté “registrado y activo”.
- Confirma que el
manifest.jsonse cargó correctamente. Si no aparece, hay un problema de carga.
¿Cómo desplegar en hosting con Firebase CLI?
- Usa el hosting para pruebas reales.
firebase deploy
- Abre la URL del proyecto y concede permisos. Verás en consola: permiso otorgado, service worker registrado y el token generado.
¿Qué reglas y funciones necesitas para registrar tokens y enviar mensajes?
El guardado del token en Firestore y el envío de notificaciones dependen de reglas y cloud functions bien configuradas.
¿Cómo permitir escritura en la colección tokens en Firestore?
- Crea una regla que permita leer y escribir en
tokensaun sin autenticación (para pruebas).
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /tokens/{doc} {
allow read, write: if true;
}
}
}
- Guarda, actualiza el sitio y verifica que ya no aparezcan errores al insertar tokens.
¿Cómo desplegar y qué hace cada función en Functions?
- Selecciona el proyecto y despliega solo las funciones.
firebase use --add
firebase deploy --only functions
- Función 1: al crear un documento en
tokens, suscribe ese token al topic “nuevo post”. - Función 2: al crear un post, toma título y descripción y envía un mensaje al topic para que llegue a todos los tokens suscritos.
- Verifica en la consola de Firebase, sección Functions y “Registros” que ambas se disparen correctamente.
¿Cómo probar las notificaciones en foreground y background?
- Foreground: crea un post y observa la notificación en pantalla mientras el sitio está abierto.
- Background: minimiza el sitio y simula el envío con un API (ejemplo con Postman):
- URL usada:
fcm.googleapis.com/scm/sent. - Cabecera necesaria:
Authorization: key=<CLAVE_DEL_SERVIDOR>(desde Configuración del proyecto → Mensajería en la nube). - Cuerpo de ejemplo para enviar a un token o a un topic:
{
"to": "<TOKEN_O_/topics/nuevo-post>",
"data": {
"title": "Nuevo post",
"description": "Descripción del contenido",
"url": "https://tu-sitio"
}
}
- En el service worker, asegúrate de mostrar la notificación correctamente:
self.registration.showNotification('Nuevo post', {
body: 'Tenemos un nuevo post, revísalo.',
});
- Al hacer clic en la notificación, se abre la URL definida en el código.
¿Cómo depurar errores comunes al probar notificaciones?
Estos fallos aparecieron durante la prueba y así se resolvieron sin bloquear el avance.
- “Error al registrar el service worker” o mensajes inconsistentes.
- Verifica registro en Application y el
manifest.jsoncargado. - “Permisos insuficientes” al guardar el token.
- Ajusta reglas para la colección
tokensy vuelve a probar. - No aparecen cambios por caché del navegador.
- Usa Control + F5 para limpiar caché y recargar.
- Los cambios no se reflejan en producción.
- Recuerda que estás en hosting: vuelve a ejecutar
firebase deploy. - La notificación en background no llega.
- Revisa el
Authorizationcon la clave del servidor y que el token sea el vigente. - Corrige el método
showNotificationen el service worker si el nombre estaba mal escrito.
¿Te animas al siguiente paso? Implementa el reto: al crear un comentario, envía una notificación a administradores. Crea un topic de administradores y regístralos para que reciban el mensaje. Cuéntame en comentarios cómo lo resolviste y qué mejoras agregarías.