2016-02-05 39 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