我在我的網站上爲Firebase推送通知配置了JavaScript API。一切工作正常,但我看到很多'背景消息'。我剛剛將firebase-messaging-sw.js文件放在我的網站目錄中。firebase-messaging-sw.js在firebase網絡通知中的用途是什麼?
我不知道它的用法。我只是想知道它做了什麼。如果你看到下面的代碼,你會看到我還沒有提供messagingSenderId
這個文件仍然執行。
所以,我想知道的是:
它是如何工作沒有ID?
它有什麼用處?它是一個強制文件來接收推送通知並在onMessage
處理程序中處理它們?
我應該在哪裏放這個文件(我的當前目錄是:MY-SITE-DOMAIN/firebase-messaging-sw.js但firebase通知配置在不同的目錄中)?
下面的代碼:
importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js');
firebase.initializeApp({
'messagingSenderId': 'YOUR-SENDER-ID'
});
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
const notificationTitle = 'Background Message from html';
const notificationOptions = {
body: 'Background Message body.',
icon: '/firebase-logo.png'
};
return self.registration.showNotification(notificationTitle,
notificationOptions);
});
原始文件here