0
我试图订阅PushManager来发送推送通知,但我在调用订阅时总是收到错误。无法订阅推送通知
这是我的订阅调用
registration.pushManager.subscribe({ userVisibleOnly: true })
.then(function (subscription) { /* ... */})
.catch(function (err) { /* ... */})
没有什么奇怪的,你可以看到,而且呼叫总是抛出
抛出:DOMException:注册失败 - 推送服务错误
我我不确定这是为什么。 我已经检查到目前为止
- 我在
manifest.json
一个gcm_sender_id
属性。 - 通知允许在客户端授予。
registration.pushManager.getSubscription()
总是得到null
并订阅总是抛出上述错误。
我还应该看什么?任何帮助成功订阅推送通知是受欢迎的,顺便说一下,我使用的是Chrome 55,如果您需要更多信息,请告诉我。
编辑:所有注册码为here的registerServiceWorker
函数。
感谢。
我用'window.location.origin',因为当有人导航到另一个路线时,我得到一个服务工作人员没有找到错误,也许'范围'选项会解决这个问题。其余代码相当于您的答案 –
经过一番搜索后,我找到了我的解决方案。我在我的'manifest.json'文件中使用了错误的'gcm_sender_id'。我在Google开发者控制台中使用了项目ID,当我[通过项目编号改变它](https:// github。com/YerkoPalma/blank-app-shell/commit/34cd59cfb37e6247f3d8bdc69b94e926753052ad#diff-4b1eb3dc48c4e16d49db5b42298fe654),它工作! –
:)对你有好处!但这不应该是问题。只有当您触发推送而不是您订阅时,您才会遇到错误的gcm_sender_id问题。我猜测根范围为你做了窍门! :) –