notificaciones google fcm example app javascript angular push-notification firebase-cloud-messaging

javascript - google - notificaciones push web firebase



No recibir notificaciones automáticas de FCM para la web en localhost (2)

Así que tengo que implementar notificaciones push web en nuestra aplicación web, configuré con éxito la mensajería en la nube de firebase en mi aplicación con la ayuda de documentos, puedo pedirle permiso al usuario para recibir notificaciones y obtener también la identificación del token si él acepta el permiso.

El problema es cuando trato de enviar una notificación para probar el token generado, obtengo una respuesta de que se envió el mensaje, pero no puedo recibirlo en el lado del cliente.

Mi index.html

<head> <script src="https://www.gstatic.com/firebasejs/4.4.0/firebase.js"></script> <link rel="manifest" href="./firebase.json"> </head> <script> if (''serviceWorker'' in navigator) { navigator.serviceWorker.register(''./firebase-messaging-sw.js'').then(function(registration) { console.log(''Firebase Worker Registered''); }).catch(function(err) { console.log(''Service Worker registration failed: '', err); }); } </script>

Puedo registrar con éxito el archivo de trabajador de servicio

Mi App.component.ts

var config = { apiKey: "somekey", authDomain: "someproject-2.firebaseapp.com", databaseURL: "https://someproject-2.firebaseio.com", projectId: "someproject-2", storageBucket: "", messagingSenderId: "someid" }; firebase.initializeApp(config); const messaging = firebase.messaging(); messaging.requestPermission() .then(function() { console.log(''Notification permission granted.''); return messaging.getToken() }) .then(function(result) { console.log("The token is: ", result); }) .catch(function(err) { console.log(''Unable to get permission to notify.'', err); }); messaging.onMessage(function(payload) { console.log("Message received. ", payload); });

Obtengo el cuadro de diálogo de permiso solicitando permiso y obteniendo un token con este código

El código curl que utilicé para enviar mensajes

curl -X POST -H "Authorization: key=somekey" -H "Content-Type: application/json" -d ''{ "notification": { "title": "Portugal vs. Denmark", "body": "5 to 1", "icon": "firebase-logo.png", "click_action": "http://localhost:8081" }, "to": "sometoken" }'' "https://fcm.googleapis.com/fcm/send"

Puedo enviar notificaciones con éxito con este código

No puedo entender dónde estoy yendo mal, ¿tal vez porque está en el localhost? tal vez el método onMessage no se está ejecutando correctamente? ¡Cualquier ayuda es muy apreciada!



Bien, no obtuve ninguna respuesta para esto en , ¡así que tengo que hacerlo solo y ponerlo en funcionamiento!

El problema estaba en el archivo del trabajador del servicio, aparentemente no he definido la variable de mensajería.

Si alguien se enfrenta a este problema, solo asegúrate de que tu archivo de trabajador de servicio tenga un aspecto similar.

importScripts(''https://www.gstatic.com/firebasejs/3.9.0/firebase-app.js''); importScripts(''https://www.gstatic.com/firebasejs/3.9.0/firebase-messaging.js''); firebase.initializeApp({ ''messagingSenderId'': ''182145913801'' }); const messaging = firebase.messaging();