2016-02-05 42 views
0

可能是一個GCM新手問題...發送到GCM主題

我或多或少地瞭解如何訂閱主題以及如何發送消息到主題。但我想知道:主題是如何創建的?

從我閱讀的文檔中,我猜想至少有一個應用程序訂閱它時存在一個主題,對嗎? (據我所知,沒有特定的API來「創造」一個主題)。

我還注意到,應該註冊應用程序的主題不是來自應用程序本身,而是來自應用程序服務器(通過將HTTP POST消息發送到特定的URL)。這是否以同樣的方式工作?

E.g.如果訂閱時該主題不存在,它將被「創建」?

回答

0

據我所知,是的,客戶端應用程序在訂閱時使用的任何主題名稱都將被創建。即使它是「sdfgklfhjashfgkjas」,純粹是偶然的。

我看過沒有提及刪除主題。我認爲未使用的主題並不會真正引起Google的任何問題;他們不佔用太多空間。

在服務器端,您可以強制應用程序實例通過傳遞令牌的HTTP POST as mentioned in the GCM documentation訂閱的話題。同樣取消訂閱主題。

there are limits on topics熊這可能導致對流行的應用程序的問題。

0

如何創建主題?

沒有關於如何創建主題的文檔的詳細說明,但根據documentation

的應用程序可以訂閱由開發人員定義不同的主題。應用程序服務器可以將消息發送到訂閱的設備,而無需維護主題 - 訂戶映射。在訂閱或發佈之前不需要明確創建主題 - 發佈或訂閱時會自動創建主題。

從我看過的文檔中,我猜想至少有一個應用程序訂閱它時存在一個主題,對嗎?

我覺得是這樣的話,因爲爲了創建一個話題,你將有一個應用程序訂閱。

我還注意到,應該可以將應用程序註冊到不是來自應用程序本身的主題,而是從應用程序服務器(通過向特定URL發送HTTP POST消息)註冊應用程序。這是否以同樣的方式工作?

是你的應用程序可以訂閱不一定與你的應用程序,只要你通過GCM註冊令牌和主題名稱等話題。見Subscribe to a topic