Javascript FCM消息传递来自服务人员的Chrome推送通知,点击图标赢得';行不通
这段代码显示我的通知,一切都很好,但在通知弹出窗口中我没有看到任何图标,并单击通知只是关闭它,而不是打开窗口。这段代码是我从这个()中得到的Javascript FCM消息传递来自服务人员的Chrome推送通知,点击图标赢得';行不通,javascript,google-chrome,push-notification,service-worker,Javascript,Google Chrome,Push Notification,Service Worker,这段代码显示我的通知,一切都很好,但在通知弹出窗口中我没有看到任何图标,并单击通知只是关闭它,而不是打开窗口。这段代码是我从这个()中得到的 在形成推送消息的有效负载时,您必须使用服务器端的点击动作作为url和图标字段。来自谷歌指南: 单击操作仅支持安全HTTPS URL importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js'); importScripts('https://www.gstatic.com
在形成推送消息的有效负载时,您必须使用服务器端的
点击动作作为url和图标字段。来自谷歌指南:
单击操作仅支持安全HTTPS URL
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': 'my id'
});
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
var title = '';
var body = '';
if(payload && payload.notification) {
if(payload.notification.body) {
body = payload.notification.body;
if(payload.notification.title) {
title = payload.notification.title;
}
}
}
return self.registration.showNotification(title, {
body: body,
icon: '/img/logos/logo-short-blue.png'
});
});
self.addEventListener('notificationclick', function(event) {
event.notification.close();
var appUrl = '/' + event.notification.data.actionUrl;
event.waitUntil(clients.matchAll({
includeUncontrolled: true,
type: 'window'
}).then( activeClients => {
if (activeClients.length > 0) {
activeClients[0].navigate(appUrl);
activeClients[0].focus();
} else {
clients.openWindow(appUrl);
}
})
);
});