多个自定义账户与GCMIntentService的组合

3
我遇到了一个问题,就是有多个自定义类型的帐户。
我使用GCM(Google Cloud Messaging)从应用程序服务器接收消息。现在,由于您需要制作自己的实现GCMIntentService extending GCMBaseIntentService,因此您需要覆盖onRegistered(Context context, String regId),问题在于我想在该方法中发送帐户上保存的数据(auth token)到我们自己的数据库中,以便应用程序服务器知道哪个设备/注册ID属于我们数据库中的某个特定帐户。

我如何在onRegistered()方法内找出我刚刚向GCM注册的帐户?(我找不到任何类似的问题 =()

1个回答

3
您将不得不手动完成此操作。GCM并不关心用户帐户,只关心设备本身。在您的情况下,我会将设备注册到GCM一次,然后将相同的注册ID重复使用于所有用户,这意味着在发送GCM通知时,您必须包含某些识别数据以了解针对哪个用户发送该特定通知。
简而言之: 将您的设备注册到GCM一次,然后将接收到的注册ID和所有自定义用户帐户ID发送至您的应用程序服务器。发送通知时,将用户ID添加到通知消息中,然后使用它来确定通知是为哪个自定义帐户用户而设计的。

谢谢!我原本想在移动应用程序中,在使用GCM进行注册并且从Google收到http状态码200,但不返回任何属性时,立即发送注册ID +帐户令牌(〜用户ID)。但你的想法更好! - Joep_H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接