Это мой код server.js, который использует модуль веб-push для отправки уведомления.Push-уведомление не отправляется на хром (рабочий стол)
exports.sendWelcomePushNotification = function (req, res) {
var details = {
endpoint: req.body.endpoint,
key: req.body.key,
secret: req.body.authSecret
}
webPush.sendNotification(details.endpoint, {TTL: 0, payload: 'You have subscribed to Pushnotification.', userPublicKey: details.key, userAuth: details.secret}).then(function() {
res.sendStatus(200).json({message: 'User successfully subscribed'});
});
};
Это мой браузер на стороне клиента код для захвата конечной точки, аутентификации и ключ:
endpoint = subscription.endpoint;
var rawKey = subscription.getKey ? subscription.getKey('p256dh') : '';
key = rawKey ? btoa(String.fromCharCode.apply(null, new Uint8Array(rawKey))) : '';
var rawAuthSecret = subscription.getKey ? subscription.getKey('auth') : '';
authSecret = rawAuthSecret ? btoa(String.fromCharCode.apply(null, new Uint8Array(rawAuthSecret))) : '';
Это сервис-рабочий код, который прослушивает уведомления:
self.addEventListener('push', function (event) {
var payload = event.data ? event.data.text() : 'No Text Body';
console.log(payload,'payload');
event.waitUntil(
self.registration.showNotification('Notify Message', {
lang: 'la',
body: 'You have subscribed to Pushnotification.',
icon: 'https://pushover.net/images/icon-256.png',
requireInteraction: true
})
);
});
Этот код работает отлично для firefox.ie; когда я разрешаю уведомление, запрос api отправляется, а веб-push отправляет push-уведомление конечной точке, а iam может получать приветственное push-уведомление. Но тот же код в хроме не работает. то есть; он не дает никаких ошибок и в то же время не дает приветственного push-уведомления.
Может кто-нибудь помочь мне с этим? Любая помощь высоко ценится. Спасибо.
Это часто вызвано несоответствием между вашим ключом GCM апи и вашим идентификатором отправителя (объявленным в манифесте). Проверьте их, затем отмените подписку и переадресацию из браузера, чтобы нажимать уведомления. – collimarco
Я дал номер проекта в качестве идентификатора отправителя и ключа сервера в качестве ключа GCM API. –
Вы посмотрели журналы SW? Вы получаете что-нибудь в хроме? – Jay