【问题标题】:Receiving Messages in an Android GCM app, with a HTTP server (not CCS/XMPP)在带有 HTTP 服务器(不是 CCS/XMPP)的 Android GCM 应用中接收消息
【发布时间】:2014-02-28 16:13:22
【问题描述】:

我搜索了互联网,但找不到任何人尝试从 HTTP 服务器使用 GCM 设置推送消息的示例。我在http://developer.android.com/google/gcm/client.html 阅读了Google 的示例,看起来当应用程序调用gcm.send() 时触发了BrodcastReceiver 的onReceive() 方法。所以我的问题是,如果我不调用 gcm.send()(因为这是我正在使用的 HTTP 服务器),onReceive() 是如何触发的?

【问题讨论】:

  • 您的服务器上会有一个网页。这可以托管 PHP 或 JSP 页面。用户将使用此类页面上的文本字段和提交按钮来发送消息。
  • 我在这里发布了一个类似问题的答案:stackoverflow.com/questions/21902217/…
  • 我问的是客户端(Android 应用程序端)的事情。服务器上的一切都应该没问题,但我不明白应用程序如何接收消息,因为我在网上找到的每个示例都是针对 CCS 而不是 HTTP 服务器通信。
  • 客户端只知道它的接收者是由来自谷歌服务器的消息触发的。您的服务器如何将消息发送到 Google 服务器与客户端无关。

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


【解决方案1】:

您可以简单地忽略演示中调用gcm.send() 的客户端代码。该演示演示了设备到云和云到设备的消息传递。它触发客户端中的通信,客户端通过 GCM CCS 向服务器发送消息,服务器又将相同的消息发送回应用程序。

如果您不使用 GCM CCS,请从客户端代码中删除 gcm.send() 部分。您的服务器通过 HTTP 请求向 GCM 发送消息。 GCM 服务器将消息传递到您的设备并触发您的广播接收器的onReceive 方法。

【讨论】:

    猜你喜欢
    • 2013-05-27
    • 2014-06-17
    • 1970-01-01
    • 2015-10-29
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 2014-10-28
    相关资源
    最近更新 更多