Ich habe versucht, FCM (Firebase Cloud Messaging) für Web Push Notification zu verwenden. Ich habe erfolgreich eine Nachricht erhalten, als der Tab der Web-App im Fokus war.FCM Service Worker setBackgroundMessageHandler
Aber wenn ich die Registerkarte schloss, sollte es den Service-Arbeiter anrufen (das ist firebase-messaging-sw.js
in FCM-Beispiel). Aber es hat die setBackgroundMessageHandler
überhaupt nicht angerufen.
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
const notificationTitle = 'Background Message Title';
const notificationOptions = {
body: 'Background Message body.',
icon: 'firebase-logo.png'
};
return self.registration.showNotification(notificationTitle,
notificationOptions);
});
Haben Sie die 'messagingSenderId' eingestellt? Denn abgesehen davon sieht dein Code genauso aus wie das, was ich habe - und das funktioniert. : -/ –
hast du die Registerkarte geschlossen? Ich denke, es funktioniert, wenn der Tab nicht geschlossen und nicht aktiv ist –