google 云消息和推送通知到设备?

google cloud messaging and push notification to device?

我需要了解和理解 google 云消息传递向设备推送通知所使用的概念。 我知道 GCM 每隔几分钟检查一次是否有新消息在等待,如果是 google 将此消息推送到 android 应用程序,我的问题是如何 google 将此消息推送到特定的 android 应用程序?

在使用 gcm 注册应用程序时,一个 ID 保存在 gcm 服务器上并返回到应用程序以及 gcmRegistrationId 保存在应用程序服务器上,当任何人想要向特定 ID 发送推送通知时,消息将发送到 gcm 服务器与该 gcmRegistrationId 并通过比较该 id gcm 将该消息发送到特定客户端。

Google 文档中对此进行了解释

https://developer.android.com/google/gcm/gcm.html#s2s

这些组件是这样交互的:

  • Google-提供 GCM 连接服务器 从 第三方应用服务器并将这些消息发送到 支持 GCM 的客户端应用程序("client app")。 目前 Google 为 HTTP 提供连接服务器 和 XMPP。
  • 第 3 方应用程序服务器 是您 实现与您选择的 GCM 连接服务器一起工作。应用服务器发送 发送给 GCM 连接服务器的消息;连接服务器排队并存储 消息,然后将其发送到客户端应用程序。 有关详细信息,请参阅实施 GCM 服务器。
  • 客户端应用程序 是一个支持 GCM 的客户端应用程序。 要接收 GCM 消息,此应用必须向 GCM 注册并获得 注册号。如果您使用的是 XMPP (CCS) 连接 服务器,客户端应用程序可以将 "upstream" 消息发送回第 3 方应用程序服务器。 有关如何实施客户端应用程序的更多信息,请参阅 适用于您的平台的文档。