2017-08-14 23 views
0

我使用服務工作者實施了推送通知。我將端點存儲在我的數據庫中。如何在當前訂閱更改/過期時從數據庫中刪除舊訂閱條目。我正在服務工作人員中聽取「pushsubscriptionchange」事件。但是,在Chrome設置中將通知訂閱更改爲「始終在此網站上阻止」時,它並未被觸發。任何幫助?從通過服務工作者創建的數據庫中刪除過期的推送訂閱端點

回答

1

我不認爲通過網站設置撤銷通知權限會觸發服務人員上的pushsubscriptionchange事件。

相反,我認爲您可以做的是檢測您的客戶端頁面拒絕registration.pushManager.subscribe()方法。由於每the specificationsubscribe()第9步,

如果不批,拒絕與拋出:DOMException名爲 「NotAllowedError」並終止這些步驟保證。

所以我認爲這就是你最終能夠在你描述的場景中檢測到的東西。

至於在這種情況下清理哪些訂閱終端,我會說你應該清理所有這些?用戶已選擇退出通知,所以我不相信任何現有的終端將被用於前進。

相關問題