Так что мне удалось заставить push-уведомления работать. Проблема в том, что, хотя они появляются на моем экране, они, похоже, не вызывают событие push в моей сервисной программе. Я пытаюсь что-то console.log, когда событие запущено, но оно не работает. Кто-нибудь знает, что может быть причиной этой проблемы? (Сервисный работник зарегистрирован правильно).
self.addEventListener('push', function (e) {
console.log('hello world');
if (!(self.Notification && self.Notification.permission ===
'granted')) {
//notifications aren't supported or permission not granted!
return;
}
if (e.data) {
var msg = e.data.json();
console.log(msg)
e.waitUntil(self.registration.showNotification(msg.title, {
body: msg.body,
icon: msg.icon,
actions: msg.actions
}));
}
});
После написания этого я обнаружил, что событие push работает правильно на моем телефоне, но не на моем ноутбуке.