我想将GAE后端的通知推送到Android应用程序。我已成功通过此链接实施了通信:https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/GcmEndpoints
但是,我在这里对逻辑感到困惑。
public class GcmIntentService extends IntentService
完成了,我只需要识别消息类型?如果有人可以向我解释这个工作流程,那么一些代码示例也会很好。
答案 0 :(得分:1)
你应该真正完成GCM guide,让GCM运行并不难,但它需要一系列无法跳过的步骤。
在这个例子中,我们已经通过AsyncTask对GCM执行了客户端注册。我想在一些代码在GAE后端完成执行时通知用户,但不需要从Android调用一些AsyncTask
完整的GCM实施要求客户端注册到GCM服务器以获取其唯一ID,并且您的服务器要存储该ID以便直接联系该客户端,这就是为什么您需要至少一个连接来发送此数据到你的服务器。你可以通过使用一个名为topics的新功能来解决这个问题,这样一旦客户端注册它就可以生成一个主题,你的服务器也不需要知道任何特定的GCM密钥。你的客户。我不建议使用最后一种方法,因为它不具备可扩展性,并且会禁用与服务器的任何1对1通信。
此外,还需要在客户端进行哪些操作,以便能够"倾听"对于新消息?一些总是在后台运行的服务任务?或者这已经完成了公共类GcmIntentService从这个例子扩展了IntentService,我只需要识别消息类型?
你需要设置一个广播接收器来处理你的应用程序的传入消息(在指南中详细说明)从那里你得到原始消息,你可以随心所欲地做任何事情,包括通过意图服务运行它在接收器上直接处理或处理(不推荐)。是的,您可以区分消息类型并相应地执行逻辑。