4

我們正在開發一個網站,使用GCM向最終用戶發送推送通知。我們已經通過了Service Worker和所有人。我們使用這個codelab教程開發了一個原型。到目前爲止它工作正常,但唯一的問題是隻有打開Chrome時纔會顯示通知。當Chrome關閉時,通知不會傳達給用戶。即使Chrome或Firefox關閉,是否可以顯示桌面通知?

我想知道有什麼方法可以克服這一點,即使在瀏覽器關閉時也能顯示通知,類似於Safari推送通知。提前致謝!

回答

9

如果您在manifest.json中擁有「background」權限,即使Chrome窗口關閉,您的後臺頁面也能顯示通知。

"permissions": [ 
    "background" 
], 

由於在規定的documentation

當所有已安裝的託管應用程序,打包應用程序或擴展有「背景」的權限,Chrome的運行(不可見),只要用戶登錄到他們的計算機 - 在用戶啓動Chrome之前。 「背景」權限也使Chrome繼續運行(即使在關閉最後一個窗口後),直到用戶明確退出Chrome。

你需要使用「背景」許可與background pageevent page或託管應用一個background window

對於網頁,請使用適用於Chrome和其他瀏覽器的Push API。使用推送消息的好處是,即使您的頁面已關閉,您的服務人員也會被喚醒並能夠顯示通知。當頁面或瀏覽器關閉時,Web Sockets和EventSource會關閉它們的連接,因此不建議這樣做。這裏是documentationexample

+0

他們正在談論鉻應用程序和擴展。它會在網站上工作嗎? –

+0

我編輯了我的答案。 :) – abielita

+0

最後一個鏈接不再工作。 – Supersharp

1

在Chrome中。只有碰巧安裝了需要後臺模式的擴展程序的用戶才能夠在Chrome未處於「正在運行」狀態時收到推送通知。依靠它似乎不是一個好主意。

鉻團隊似乎也在考慮它的網站推送,但到目前爲止沒有ETA。

https://code.google.com/p/chromium/issues/detail?id=402456

相關問題