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問題。我猜測根範圍爲你做了竅門! :) –