使用GCM进行设备到设备应用数据同步

时间:2013-08-29 19:24:13

标签: android google-cloud-messaging

我打算建立一个购物清单应用程序,其中来自一个用户的杂货商品(与智能手机上的一个谷歌帐户绑定)可以发送给另一个应用程序用户(与他/她的智能手机上的另一个谷歌帐户绑定)。

看到GCM,我不确定,我们是否可以设备到设备类数据同步?关于如何以快速简便的方式实现这类东西的任何想法都将受到高度赞赏。

2 个答案:

答案 0 :(得分:0)

您不一定需要使用GCM或任何消息服务,所有gcm的意思是通知设备您的服务器上发生了某些变化,并且您需要获取所有新内容。

据说所有你需要做的只是有一个同步按钮,用户可以手动将列表从服务器同步到设备,反之亦然,这将消除对GCM的需求。

如果您想要自动同步,那么GCM或任何其他消息服务将是您想要的

答案 1 :(得分:0)

要详细说明tyczj的答案,无论如何都需要一台服务器来存储用户的GCM注册ID。因此,您可以使用同一台服务器为他们托管杂货。

所以流程将是这样的:

  1. 用户A希望向用户B发送杂货清单,他通过服务器的Web服务API以及用户B的谷歌电子邮件地址上传杂货清单。
  2. 您的服务器有一个GCM注册ID列表,该列表将与其Google电子邮件地址相关联。服务器找到用户B的GCM注册,并推送带有URL的通知,以便将杂货列表下载给他。
  3. 用户B的手机收到GCM消息,显示通知,让用户从GCM消息中的URL下载杂货列表。
  4. 仅当您需要这种“实时”同步列表的方式时才需要GCM。您也可以省略GCM,在这种情况下,用户B只会知道用户A与他共享列表,当他运行应用程序时(即每次运行应用程序时,它都会执行'是否有人与我共享列表'命令)。