【问题标题】:google cloud messaging and push notification to device?谷歌云消息和推送通知到设备?
【发布时间】:2015-07-17 16:47:32
【问题描述】:

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

【问题讨论】:

    标签: android push-notification google-cloud-messaging


    【解决方案1】:

    Google 文档中对此进行了说明

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

    这就是这些组件的交互方式:

    • Google 提供的 GCM 连接服务器 从 第三方应用服务器并将这些消息发送到 启用 GCM 的客户端应用程序(“客户端应用程序”)。 目前谷歌为 HTTP 提供连接服务器 和 XMPP。
    • 3rd-Party App Server 是一个组件 实现与您选择的 GCM 连接服务器一起使用。应用服务器发送 到 GCM 连接服务器的消息;连接服务器排队并存储 消息,然后将其发送到客户端应用程序。 有关详细信息,请参阅实施 GCM 服务器。
    • 客户端应用程序是支持 GCM 的客户端应用程序。 要接收 GCM 消息,此应用必须向 GCM 注册并获得 注册标识。如果您使用 XMPP (CCS) 连接 服务器,客户端应用程序可以将“上游”消息发送回第 3 方应用程序服务器。 有关如何实现客户端应用程序的更多信息,请参阅 您平台的文档。

    【讨论】:

    • 所以 GCM 连接服务器是一个服务器,它与特定设备创建 http 连接(或 xmpp)以向它发送消息,我的问题是这个 http 连接是如何创建的,以及我如何创建一个类似的http连接可以连接到android设备?
    • 我不太清楚。当您创建一个 android 应用程序时,您会为推送通知注册一个侦听器。 Android 处理其余的工作。您是否尝试将推送消息直接发送到应用程序?
    • 我并没有尝试直接向应用发送消息,因为我正在尝试为谷歌云消息传递创建模拟器,但似乎根本不可能,我们必须屈服于使用谷歌云消息传递接收通知,除非我创建一个每隔几分钟检查一次网络服务的安卓应用程序,如果有新消息,这个网络服务就会返回,如果是,那么我会显示它
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-03-08
      • 2017-10-04
      • 2014-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2016-10-03
      相关资源
      最近更新 更多