Json 结合Google云端点和Google云消息传递

Json 结合Google云端点和Google云消息传递,json,google-app-engine,google-cloud-messaging,google-cloud-endpoints,Json,Google App Engine,Google Cloud Messaging,Google Cloud Endpoints,我有两件事。在应用程序引擎和Android应用程序上运行的后端。这些需要以有效的方式进行沟通 我已经做了什么。我用谷歌云端点创建了一个api。此端点公开调用。后端中的对象映射到json,并映射回Android应用程序中的对象。这就是端点所提供的 有时我想将信息从后端推送到Android应用程序。我现在要做的是向Android应用程序发送一条谷歌云消息GCM,这些应用程序通过调用后端端点上的某个东西来更新所有内容 这种情况没有问题,但也有一些缺点: 当我在应用程序中经常发生的事情上更新很多设备时,

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

我已经做了什么。我用谷歌云端点创建了一个api。此端点公开调用。后端中的对象映射到json,并映射回Android应用程序中的对象。这就是端点所提供的

有时我想将信息从后端推送到Android应用程序。我现在要做的是向Android应用程序发送一条谷歌云消息GCM,这些应用程序通过调用后端端点上的某个东西来更新所有内容

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

当我在应用程序中经常发生的事情上更新很多设备时,所有这些设备都会调用后端并创建一个较大的峰值负载。 额外通话是使用手机上的额外电池。 我想要的是将更新的信息添加到GCM中。GCM支持添加4kB的数据。足够大,可以添加带有更新信息的json。如果我想发送超过4kB的数据,我可以使用旧的情况

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

当我要发送GCM时,我从数据存储/数据库中检索正确的对象。 这些对象需要以与端点库相同的方式转换为json。 json应该添加到GCM中。 在Android应用程序中,json应该以与端点库相同的方式转换回对象。 继续以与以前相同的方式处理这些对象。 我发现了一个建议,我应该让gson图书馆来做这件事。但我在后端和Android应用程序中都有问题。而且json本身也不一样。我想使用端点库序列化相同的json,并将其反序列化为端点调用的相同结果


有人知道怎么做吗?可能是一个示例或教程?

您是否需要Android客户端在收到GCM通知后立即调用Endpoints API?如果没有,您可以随机地将来自客户端的请求隔开,但要跨越一个阈值周期,比如30-60分钟,以避免峰值。感谢Romin的建议,但这不是一个选项。我的应用程序是一个有很多手机的游戏。所有手机都需要尽快更新。一场比赛平均需要几个小时。因此,在这种时间跨度内进行更新不是一种选择。不过还是要谢谢你的建议。