Я скачал это https://github.com/Minishlink/web-push-php-example. В нем есть кнопка отправки уведомления, которая fetch
php-файл, который отправляет уведомление с помощью webpush https://github.com/web-push-libs/web-push-php.
Это работалона некоторое время , а затем просто перестал работать.После того, как он перестал работать, я заменил рабочую копию, которая была у меня, и все еще не показывал уведомление.
Ответ от fetch
до send_push_notification.php
показывает
[v] Message sent successfully for subscription https://fcm.googleapis.com/wp/f6ST-d7Ek3o:APA91bH3ZaT_QYo...
, но я надеваюне вижу push-уведомления.У меня есть обработчик событий console.log
in push
в сервис-работнике, и я не вижу push-уведомления
js, который вызывает fetch
в php файл (send_push_notification.php
)
sendPushButton.addEventListener('click', () =>
navigator.serviceWorker.ready
.then(serviceWorkerRegistration => serviceWorkerRegistration.pushManager.getSubscription())
.then(subscription => {
const contentEncoding = (PushManager.supportedContentEncodings || ['aesgcm'])[0];
const jsonSubscription = subscription.toJSON();
fetch('send_push_notification.php', {
method: 'POST',
body: JSON.stringify(Object.assign(jsonSubscription, { contentEncoding })),
});
})
);
Рабочий файл сервиса:
self.addEventListener('push', function (event) {
console.log("PUSHRECEived");
const sendNotification = body => {
return self.registration.showNotification(title, {
body,
});
};
if (event.data) {
const message = event.data.text();
event.waitUntil(sendNotification(message));
}
});
Редактировать Работает после перезагрузки компьютера.Что может быть причиной.