gpt4 book ai didi

javascript - 无法订阅推送通知

转载 作者:行者123 更新时间:2023-11-30 08:28:34 33 4
gpt4 key购买 nike

我正在尝试订阅 PushManager 以发送推送通知,但调用订阅时总是出现错误。

这是我的订阅电话

registration.pushManager.subscribe({ userVisibleOnly: true })
.then(function (subscription) { /* ... */})
.catch(function (err) { /* ... */})

如您所见,没有什么奇怪的,那个调用总是抛出

DOMException: Registration failed - push service error

我不确定这是为什么。到目前为止我检查过的内容

  • 我的 manifest.json 中有一个 gcm_sender_id 属性。
  • 在客户端授予通知权限。
  • registration.pushManager.getSubscription() 总是得到 null 并且 subscribe 总是抛出上述错误。

我还应该看什么?欢迎任何帮助成功订阅推送通知的帮助,顺便说一句,我使用的是 chrome 55,如果您需要更多信息,请告诉我。

编辑:所有的注册码都是hereregisterServiceWorker 函数上。

谢谢。

最佳答案

假设您已经正确注册了 service worker,使用类似的东西:

navigator.serviceWorker.register('/serviceworker.js', {
scope: '/'
});

我建议您像我一样为您的 service worker 使用相对路径,而不是像您在代码中那样使用 window.location.origin 并且最好将 serviceworker 文件保存在

使用此方法订阅推送并获取端点。

navigator.serviceWorker.ready
.then(function(serviceWorkerRegistration) {
return serviceWorkerRegistration.pushManager.subscribe({
userVisibleOnly: true
});
})
.then(function(subscription) {console.log(subscription.endpoint);});

如果还是不行:- 尝试从 chrome://serviceworker-internals 注销现有工作人员,并确保在执行此操作时关闭所有选项卡。

如果还是不行:- 尝试通过单击 chrome 右上角的您的名字来创建新的 chrome 配置文件。 (我遇到过一次)

检查 this代码供您引用。

关于javascript - 无法订阅推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334219/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com