结合Google Cloud Endpoint和Google Cloud Messaging

时间:2014-04-30 11:36:19

标签: json google-app-engine google-cloud-messaging google-cloud-endpoints

我有两件事。在App Engine和Android应用程序上运行的后端。这些需要以有效的方式进行沟通。

我已经做了什么。我使用Google Cloud Endpoints创建了一个api。此端点公开呼叫。后端中的对象映射到json并映射回Android应用程序中的对象。这就是端点提供的功能。

有时我想将信息从后端推送到Android应用。我现在所做的是将Google Cloud Message(GCM)发送到Android应用程序,这些是通过调用后端端点上的内容来更新所有内容。

这种情况没有问题,但有一些缺点:

  • 当我更新一些设备(我的应用程序中发生了很多事情)时,所有这些设备都会调用后端并产生很大的峰值负载。
  • 额外的通话是在手机上使用额外的电池。

我想要的是将更新的信息添加到GCM中。 GCM支持添加4kB数据。足够大,可以添加带有更新信息的json。如果我想发送超过4kB,我总是可以使用旧的情况。

所以,基本上我想要的是以下内容:

  • 当我要发送GCM时,我从数据存储区/数据库中检索正确的对象。
  • 这些对象需要以与Endpoint库相同的方式转换为json。
  • 应将json添加到GCM。
  • 在Android应用程序中,json应该以与Endpoint库相同的方式转换回对象。
  • 继续以与以前相同的方式处理这些对象。

我发现thread表示我应该让gson库执行此操作。但我在后端和Android应用程序中都遇到了问题。而且json本身也不一样。我想使用Endpoint库序列化相同的json并反序列化为与Endpoint调用相同的结果。

有人知道怎么做吗?也许是一个例子或教程?

0 个答案:

没有答案