【问题标题】:Is it possible Sync Android app with Google Cloud Messaging是否可以将 Android 应用与 Google Cloud Messaging 同步
【发布时间】:2012-10-25 16:00:29
【问题描述】:

我已经阅读了来自 Google WebSite 的 GCM 详细信息并观看了 Google IO Video

但在视频和 GCM 文档中有示例 GCM 向多个 android 设备发送相同的消息。但在我的应用程序中,我不想将相同的消息发送到多个 android 设备。

举例

我有两个具有不同谷歌帐户的安卓设备,我想将应用程序中的笔记与 GCM 同步。

  1. 第一个设备注册到 one@gmail.com
  2. 第二个设备注册到 two@gmail.com

第一台设备有不同的笔记。和 第二台设备有不同的笔记

如果我为第一台设备更新服务器上的注释。我希望它与第一台设备(one@gmail.com)同步,而不是与第二台设备(two@gmail.com)

GCM 可以吗.....?请告诉我。

谢谢

【问题讨论】:

  • 您的服务器必须使用您想要通知的用户列表调用 GCM API,在您的情况下只需 并且一旦您收到来自 GCM 的消息,您就需要您的在手机上更新笔记的应用程序。

标签: android google-cloud-messaging


【解决方案1】:

是的,在每个设备上运行的应用程序的每个实例都将具有唯一的注册 ID

注册 ID:GCM 服务器发给 Android 的 ID 允许它接收消息的应用程序。一旦安卓 应用程序具有注册 ID,它将其发送给 3rd-party 应用程序服务器,它使用它来识别具有 注册以接收给定 Android 应用程序的消息。在 换句话说,注册 ID 与特定的 Android 相关联 在特定设备上运行的应用程序。

当您在特定设备上的应用注册 GCM 时,它会收到一个唯一的注册 ID。 GCM 注册成功后收到此注册 ID。您可以使用此注册 ID(one@gmail.com 和一台特定设备唯一)将消息发送到该应用程序+设备组合。

第 3 方应用服务器可以将消息发送到单个 设备或多个设备。一条消息发送到多个设备 同时称为多播消息。

例如

Content-Type:application/json
Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA

{
  "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."],
  "data" : {
    ...
  },
}

上述代码将消息发送到在特定设备上运行的应用的一个实例

【讨论】:

    猜你喜欢
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-05
    相关资源
    最近更新 更多