多个自定义帐户与GCMIntentService结合使用

时间:2013-01-18 15:04:34

标签: android accounts multiple-accounts google-cloud-messaging

我遇到了自己的自定义类型的多个帐户的问题。
我使用GCM (Google Cloud Messaging)从我们的应用服务器接收消息。既然你需要自己实现GCMIntentService extending GCMBaseIntentService,你需要覆盖onRegistered(Context context, String regId),这里的问题在于我想将帐户上的已保存数据(一个身份验证令牌)发送到我们的应用服务器在那种方法中。这样应用程序服务器就知道哪个设备/注册ID属于我们自己数据库中的某个帐户。

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

1 个答案:

答案 0 :(得分:3)

您必须手动执行此操作。 GCM不关心用户帐户。它只关心设备本身。在您的情况下,我会使用GCM注册设备一次,然后为所有用户重复使用相同的注册ID,这意味着在发送GCM通知时,您必须包含一些标识数据,以了解您要向哪个用户发送该特定通知。

简而言之: 使用GCM注册您的设备一次,然后将您收到的注册ID +所有自定义用户帐户ID发送到您的应用程序服务器。发送通知时,将用户ID添加到通知消息中,然后使用它来确定用户的自定义帐户用户。