如何解决Firebase 消息服务工作线程发送通知
在 Firebase Messaging 文档中,有一个关于如何通过 javscript 文件中注册的 serviceworker 向浏览器发送通知的示例:
messaging.onBackgroundMessage((payload) => {
console.log('[firebase-messaging-sw.js] Received background message ',payload);
// Customize notification here
const notificationTitle = 'Background Message Title';
const notificationoptions = {
body: 'Background Message body.',icon: '/firebase-logo.png'
};
self.registration.showNotification(notificationTitle,notificationoptions);
});
但遗憾的是,没有示例如何为前景做同样的事情:
const messaging = firebase.messaging();
this.afMessaging.messages
.subscribe((message) => {
const title = 'TEST';
const options = {
body: message["data"].text,icon: 'assets/icon.png',badge: 'assets/badge.png',actions: [
{
action: 'archive',title: 'archive'
}
]
};
//let notification = new Notification(title,options);
navigator.serviceWorker.getRegistration().then(reg => reg.showNotification(title,options));
我在 new Notification
之前使用过,但这不支持操作。
所以我需要使用 serviceworker 的 showNotification,但是如何从 typescript 代码访问它。
使用当前的实现,我总是收到错误消息:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'showNotification' of undefined
TypeError: Cannot read property 'showNotification' of undefined
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。