GCM 中使用上游消息传递的消息流程图

Posted

技术标签:

【中文标题】GCM 中使用上游消息传递的消息流程图【英文标题】:Flowchart of messages in GCM using the upstream messaging 【发布时间】:2015-06-24 20:03:40 【问题描述】:

我正在尝试理解 gcm 上游消息传递的概念。 好吧,我在浏览了几个小时后才知道是这样的:

1)我的客户端应用程序将上游消息发送到 gcm 服务器。2)GCM 服务器然后将其发送到我的第 3 方应用程序服务器。第 3 方应用程序服务器响应它,我向 GCM 服务器发送 ACK。3)然后 GCM 服务器回显向接收方设备发送消息(接收方 ID 包含在应用程序发送的上游消息中)。

如果它实际上发生了什么,我不知道。 现在我确定 GCM 服务器在某些步骤中将消息发送到我的服务器,GCM 服务器实际上如何 向我的应用服务器发送消息。它是如何知道我的应用服务器的,因为我们没有放置我的服务器地址

我已经搜索了整个互联网,但找不到任何关于此的内容。我已经解决了几个 SO 问题,但我找不到答案。

我想知道在整个过程中发生的整个一系列步骤。我很困惑。我想知道整个概念以及这一切背后发生了什么。

所有步骤的任何详细解释将不胜感激。 通知我已阅读 Google 文档。

【问题讨论】:

阅读 xmpp 是什么...在这种情况下,您的服务器是 xmpp 客户端... 【参考方案1】:

你的大部分流程是正确的,但我认为再读一次 Docs 会搞清楚。

您的应用程序服务器必须充当 XMPP 客户端,并连接到 CCS(GCM 的 XMPP 服务器)。您的服务器连接到 CCS 是 GCM 知道您服务器的“地址”的方式。

清理您建议的流程:

    您的应用服务器连接到 GCM 的 CCS。 您的客户端应用(android 应用)获得注册令牌。 您的客户端应用(Android 应用)将该令牌发送到您的应用服务器。 您的客户端应用向 GCM 发送上游消息。 GCM 将该消息转发到您的应用服务器。 您的应用服务器向 CCS 发送 Ack。 您的应用服务器处理收到的消息。

请注意,上述流程是一种可能的流程,还有很多其他流程,下游消息也不属于流程的一部分。再次参考docs了解更多详情。

【讨论】:

以上是关于GCM 中使用上游消息传递的消息流程图的主要内容,如果未能解决你的问题,请参考以下文章

如果 GCM 不支持 HTTP 服务器的上游消息传递,那么关于 HTTP 服务器的用户通知的上游消息如何支持?

Android 应用上游消息传递是不是可靠?

GCM 云连接服务器中上游消息的主要用途是啥?

gcm 云连接服务器到应用服务器消息传递

操作 GCM 下游消息

使用 PHP 的 Google 云消息传递 (GCM)