我正在使用最近发布的FCM messaging支持在chrome上进行推送通知。当我的应用程序在后台运行时,我会收到通知,但是单击通知时什么也没有发生。如何指定当用户单击通知时应打开的URL? (我了解如何通过使用notifyclick事件使用纯服务 worker 概念来完成此操作,我想知道如何使用FCM messaging做到这一点。)
messaging.setBackgroundMessageHandler(function(payload) {
var data = payload || {};
var shinyData = decoder.run(data);
console.log('[firebase-messaging-sw.js] Received background message ', shinyData);
return self.registration.showNotification(shinyData.title, {
body: shinyData.body,
icon: shinyData.icon
})
});
我在这里想念什么?
最佳答案
click_action
不是showNotification函数的可能参数之一。
要处理对通知的单击,请定义一个notificationclick事件处理程序。
例如:
self.addEventListener('notificationclick', function(event) {
event.notification.close();
event.waitUntil(self.clients.openWindow(YOUR_URL_HERE));
});