发送到GCM主题

时间:2016-02-05 09:22:37

标签: android google-cloud-messaging

可能是一个GCM新手问题......

我或多或少了解如何订阅主题以及如何向主题发送消息。但我想知道:如何创建一个主题?

从我读过的文档中,我猜一个主题至少有一个应用程序订阅它时,对吗? (据我所知,没有具体的api来'创造'一个话题。)

我还注意到应该可以将应用程序注册到不是来自应用程序本身的主题,而是来自应用程序服务器(通过向特定HTTP POST发送URL消息)。这是否以同样的方式工作?

E.g。如果订阅时主题不存在,它将被“创建”?

2 个答案:

答案 0 :(得分:0)

据我所知,是的,客户端应用程序在订阅时使用的主题名称将被创建。即使它是" sdfgklfhjashfgkjas"而且纯粹是偶然的。

我没有看到删除主题。我想未使用的话题确实不会给谷歌造成任何问题;他们不占用太多空间。

在服务器端,您可以通过在http POST as mentioned in the GCM documentation中传递令牌来强制应用实例订阅主题。同意取消订阅主题。

请记住there are limits on topics,这可能会导致热门应用出现问题。

答案 1 :(得分:0)

如何创建主题?

关于如何创建主题的文档中没有详细解释,但根据documentation

  

应用程序可以订阅开发人员定义的不同主题。然后,app服务器可以向订阅的设备发送消息,而无需维护主题订户映射。在订阅或发布之前不需要显式创建主题 - 它们在发布或订阅时自动创建。

从我看过的文档来看,我想当至少有一个应用订阅它时,主题是否存在,对吗?

我认为情况就是这样,因为为了创建主题,您将有一个应用程序订阅它。

我还注意到应该可以将应用程序注册到不是来自应用程序本身的主题,而是来自应用程序服务器(通过将HTTP POST消息发送到特定URL)。这是否有相同的作用?

是的,只要您传递GCM注册令牌和主题名称,您的应用就可以订阅与您的应用不一定相关的其他主题。请参阅Subscribe to a topic