【问题标题】:Is Google Cloud Messaging from Android to Android possible?从 Android 到 Android 的 Google Cloud Messaging 是否可行?
【发布时间】:2013-09-15 07:52:54
【问题描述】:

我在http://developer.android.com/google/gcm/gcm.html 阅读了有关 Google Cloud Messaging 的信息。

支持第三方应用服务器向安卓应用推送通知。

我想知道是否可以使用 Google Cloud Messaging 从一部手机上的 Android 应用程序向另一部手机上的同一 Android 应用程序实现相同的推送/接收通知。

如果没有,是否还有其他类似于 Google Cloud Messaging 的免费服务?

【问题讨论】:

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


【解决方案1】:

Android 设备可以向另一台 Android 设备发送 GCM 消息。它所需要的只是 API 密钥(应用程序用来注册到 GCM 的 Google API 项目 ID)和其他设备的注册 ID。使用这些参数,它可以通过 HTTP 请求将 GCM 消息发送到另一台设备。

通常使用 GCM 的应用程序需要第 3 方服务器来存储所有已注册设备的注册 ID。如果您的应用有不同的方式让设备在不需要服务器的情况下相互共享其注册 ID,则您不需要服务器。

【讨论】:

    【解决方案2】:

    据我所知,中间必须有一个服务器来发送推送通知(Android -> Personal Server -> GCM Server -> Android)

    因此,发送通知的 Android 设备会将一些数据发送到服务器上的脚本(使用 HTTP GET/POST),然后该脚本会将推送通知发送到您希望它发送到的所有设备

    【讨论】:

    • 谷歌服务器在中间扮演这个角色。但是,如果您在 google app 控制台的设置页面中看到,它要求输入将启动推送的服务器的 IP 地址。所以 Android->Server->Android 将无法工作,因为 android 设备没有 IP 地址。这里的 IP 地址应该是所有推送启动的地址。这意味着 Android->Our Server->GCM Server->Android 将工作。我需要像这样的 Android->任何服务,如 GCM Server->Android。
    • 我更新了我的答案以更好地反映我的意思,但我仍然认为它没有回答你的问题,抱歉:/
    【解决方案3】:

    按照来自 google (GCM Client Example) 的示例代码,您可以构建一个应用程序来获取您设备的注册 ID,但在我看来,没有服务器发送消息是行不通的。我现在还没有尝试过,但是如果您负担不起或不想设置服务器,那么使用 Google Backend Starter 或者(我尝试过的)使用后端作为服务提供者(如 apiOmat)怎么样? .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多