Web Push 重新订阅推送管理器chrome
Web Push re-subscribe push manager chrome
目前我有许多 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);
});
但是我想像这样用乏味的密钥注册来更改订阅,
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);
});
现在我们的浏览器已经像下面这样订阅了,当我 运行 底部代码块(带有乏味的键)时,我收到错误 "you are already subscribed"。
Subscription.unsubscribe() 方法不适用于 Chrome 浏览器。我怎样才能重新订阅 pushManager ?
我在尝试了许多不同的事情后找到了答案。我在 chrome 控制台上尝试取消订阅方法,但我得到了 "DOM error",但没有成功。然后我将下面的代码添加到 swr.pushManager.getSubscription() 成功回调。我可以取消订阅推送管理器。
subscription.unsubscribe().then(function(successful) {
// You've successfully unsubscribed
console.log("unsubscribe:" + successful);
}).catch(function(e) {
// Unsubscription failed
console.logI("unsubscribe:err:" + e);
})
目前我有许多 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);
});
但是我想像这样用乏味的密钥注册来更改订阅,
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);
});
现在我们的浏览器已经像下面这样订阅了,当我 运行 底部代码块(带有乏味的键)时,我收到错误 "you are already subscribed"。
Subscription.unsubscribe() 方法不适用于 Chrome 浏览器。我怎样才能重新订阅 pushManager ?
我在尝试了许多不同的事情后找到了答案。我在 chrome 控制台上尝试取消订阅方法,但我得到了 "DOM error",但没有成功。然后我将下面的代码添加到 swr.pushManager.getSubscription() 成功回调。我可以取消订阅推送管理器。
subscription.unsubscribe().then(function(successful) {
// You've successfully unsubscribed
console.log("unsubscribe:" + successful);
}).catch(function(e) {
// Unsubscription failed
console.logI("unsubscribe:err:" + e);
})