В настоящее время у меня есть push-подписка из многих браузеров Chrome с помощью этого метода,
swr.pushManager.subscribe({userVisibleOnly: true})
.then(function (subscription) {
if (subscription) {
console.log("success::" + JSON.stringify(resp.subscription));
}
return resolve(resp);
})
.catch(function (err) {
resp.status = 'subs_error';
resp.error = '' + err;
logger.error("Can not re-subscribe for pushes", err);
return resolve(resp);
});
Но я хочу изменить подписку с помощью регистраций ключей vapid, как это,
swr.pushManager.subscribe({userVisibleOnly: true, applicationServerKey: base64UrlToUint8Array(<publicApplicationKey>)})
.then(function (subscription) {
if (subscription) {
console.log("success::" + JSON.stringify(resp.subscription));
}
return resolve(resp);
})
.catch(function (err) {
resp.status = 'subs_error';
resp.error = '' + err;
logger.error("Can not re-subscribe for pushes", err);
return resolve(resp);
});
Теперь нашбраузеры уже имеют подписку, как показано ниже, и я получаю сообщение об ошибке «вы уже подписаны», когда я запускаю нижний блок кода (с vapid-ключами).
Метод Subscription.unsubscribe () не работает в браузерах Chrome.Как я могу повторно подписаться на pushManager?