谷歌云消息的限制

4
我知道网站上存在类似的问题,但我感到困惑,因为httpxmpp有不同的限制: 这个页面说明了httpxmpp之间的区别。
第一个限制是[xmpp&http]:最多4KB的数据 第二个限制是: http您可以一次向1000个用户发送一条消息。(ref) xmpp对于每个sender ID,GCM允许1000个并行连接。(ref)

您可以一次向1000个用户发送一条消息。因此,如果您有更多的用户,您将需要从您的服务器多次发送消息,但每次发送给不同的用户(ref)

第三个限制是: http:我在android开发者中找不到这个限制:

有一个存储消息的限制,而且没有折叠它。该限制目前为100。如果达到限制,所有存储的消息都将被丢弃。然后,当设备重新联机时,它会收到一条指示已达到限制的特殊消息。应用程序可以适当地处理这种情况,通常是通过请求完整同步来完成(ref)

xmpp:

每个发送到CCS的消息都会接收到ACK或NACK响应。未接收到这些响应的消息被视为待处理。如果待处理消息计数达到100,则应用服务器应停止发送新消息并等待CCS确认一些现有待处理消息(ref)

我的问题:
1.在第二个限制中,如果我们使用http方法并且有2000个用户,我们应该两次发送消息,每次发送给1000个用户吗?我们可以这样做吗?
2.xmpp不支持多播消息,我们可以在xmpp中使用主题进行多播吗?
3.是否存在广播消息主题的任何限制?(除ref之外)

4. 在第三个限制条件下,如果我向300个用户发送消息,其中有100个顶级用户处于离线状态,他们在回来并上线时会收到消息或任何通知吗?(注意:对于http使用广播,对于xmpp使用循环)

  1. 这个限制是否以主题方式影响?

  2. httpxmpp之间的第三个限制是否存在差异?

7. httpxmpp中是否存在其他限制?

1个回答

6
  1. 是的,您可以这样做。在使用HTTP时,您可以将批量大小设置为1000(接收者)。

  2. 是的。 Topic消息是PubSub方法,如果您的客户端注册到特定主题,则可以通过一次请求向所有客户端发送推送通知。

  3. 没有限制。曾经有一个每个应用程序在主题消息上有1百万个订阅者限制,但现在不存在。

  4. 您混淆了第三个限制:

    • 第一个限制(HTTP)是关于单个客户端的,而不是所有客户端。因此,如果您在离线时向单个客户端发送超过100条消息,则当他再次联机时,它们中的任何一条都无法传递。
    • 第二个限制(XMPP)是关于队列的全部内容,并且发生在服务器端。这意味着如果存在100个未确认的消息,则无需向GCM发送任何消息。

    因此,您不必考虑离线用户,GCM会在他们重新联机时处理向所有用户传递消息的工作。

  5. 不。

  6. 我在第4点中解释了这一点。

  7. 我记不起来了。


@ghanbari 是的,如果离线用户再次上线,GCM将向其传递消息。存在一个名为TTL(生存时间)的关键字,您应该在JSON消息中指定它,以告诉GCM如果用户不再上线,它应该保留消息的时间有多长。 - Ali
@ghanbari 你也可以看看 http://pushe.co ,它是伊朗基于 GCM 的推送通知服务。 - Ali
@bikash 1. XMPP支持1000个并行连接,每个连接可以发送多个请求,没有限制。2.如果您需要发送上行消息,则必须使用XMPP。 - Ali
@bikash 抱歉,我没有链接,但如果我找到了什么东西,我会尽快发送给你。 - Ali
如果我在同一个账户中有两个项目,那么我可以同时向2000个收件人发送信息还是1000条消息? - Dev Tamil
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接