【发布时间】:2017-07-16 06:57:44
【问题描述】:
我已在我的网站上为 firebase 推送通知配置了 Javascript API。一切正常,但我看到许多“背景消息”。我刚刚将 firebase-messaging-sw.js 文件放在了我网站的目录中。
我不知道它的用途。我只是想知道它的作用。如果您看到以下代码,您会看到我没有提供 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
【问题讨论】:
-
importscripts 在我的应用程序中不起作用,为什么:(
标签: javascript firebase push-notification firebase-cloud-messaging service-worker