4

Here是如何在Chrome中實施Google Cloud Messaging(GCM)的不錯文檔。但我沒有在這裏或任何地方找到任何有關如何使用JavaScript(適用於Chrome)訂閱主題的參考資料。如何從javascript(適用於Chrome)註冊到GCM主題

在這裏,我發現了一個參考如何做任務的Android: https://developers.google.com/cloud-messaging/topic-messaging#subscribe-to-a-topic

Java代碼(安卓)用於訂閱主題GCM:

private void subscribeTopics(String token) throws IOException { 
    GcmPubSub pubSub = GcmPubSub.getInstance(this); 
    for (String topic : TOPICS) { 
     pubSub.subscribe(token, "/topics/" + topic, null); 
    } 
} 

什麼,我不看對於

我不是在尋找Chrome應用/擴展的方式。

我想要什麼

我想推送通知發送給我的所有用戶。到目前爲止,我知道這可以通過兩種方式實現:

  1. 推送消息到一個主題
  2. 或者我要:「您需要發送設備的REG ID列表,也該清單應不超過1000這是GCM的限制,如果你想發送消息到超過1000個設備,那麼你需要以1000塊爲單位打破這個列表。「

我想避免點數2.

我的問題

所以,我的問題是,有沒有什麼辦法來訂閱使用的JavaScript Chrome瀏覽器GCM的話題(網頁頁)?如果有,那該怎麼辦?

+0

在這裏,讓我做谷歌搜索你:) https://github.com/ToothlessGear/node-gcm如果你提供了更多的細節,你實際上正在嘗試做什麼,那麼我或其他人可能能夠給出更好的答案。 –

+0

好的我要更新我的問題@MichaelHobbs – Mehdi

+0

您提供的庫鏈接僅用於發送目的。我從我的服務器發送推送消息沒有問題。但我找不到任何方法來訂閱全球主題或使用JavaScript(客戶端任務)的任何其他主題。在註冊時,Android客戶端可以訂閱任何GCM主題。因此,Chrome也必須有任何方式(Javascript)。 to @MichaelHobbs – Mehdi

回答

2

Web推送不支持GCM主題。原因很可能與即將增加的payloads有關,這些需要用每個用戶的不同密鑰加密。

所以我恐怕你被困在2)。這當然取決於您有多少用戶,但請記住,如果您要使用主題,則可以立即向數百萬人發送消息,從而確保當前狀態。在收到消息後,所有這些用戶都將「回覆」回您的站點以獲取顯示通知所需的信息,這樣如果話題被很多人使用,您可能冒着DOS的風險。以1000個組爲單位進行分組有助於限制傳入流量。

+0

謝謝@米格爾·加西亞。批量分組也是我的解決方案。感謝您的回答。 – Mehdi

1

對我評論的答案發布可見性答案。


FCM最近公佈(2016年10月17日)Firebase JavaScript library

今天,我們宣佈了火力地堡雲端通訊(FCM)與一個JavaScript庫的發行網絡支持。這擴展了我們當前的瀏覽器支持,使得實現過程變得簡單得多,將強大的功能(如主題和設備組消息傳遞)帶到了網絡

-

隨着FCM JavaScript庫,您可以發送網頁推送通知到單一裝置,主題或設備組。通過在Web上添加主題支持,我們可以讓開發人員向選擇特定主題的Android,iOS和Web用戶發送消息。要充分利用主題和設備組,您可以使用服務器端的API manage your topicsgroups subscriptions

指向Setting Up the JavaScript Client App的Firebase文檔的鏈接。