我遇到了自己的自定义类型的多个帐户的问题。
我使用GCM (Google Cloud Messaging)从我们的应用服务器接收消息。既然你需要自己实现GCMIntentService extending GCMBaseIntentService
,你需要覆盖onRegistered(Context context, String regId)
,这里的问题在于我想将帐户上的已保存数据(一个身份验证令牌)发送到我们的应用服务器在那种方法中。这样应用程序服务器就知道哪个设备/注册ID属于我们自己数据库中的某个帐户。
如何在onRegistered()
方法内找到我刚刚向GCM注册的帐户? (我找不到任何类似的问题=()
答案 0 :(得分:3)
您必须手动执行此操作。 GCM不关心用户帐户。它只关心设备本身。在您的情况下,我会使用GCM注册设备一次,然后为所有用户重复使用相同的注册ID,这意味着在发送GCM通知时,您必须包含一些标识数据,以了解您要向哪个用户发送该特定通知。
简而言之: 使用GCM注册您的设备一次,然后将您收到的注册ID +所有自定义用户帐户ID发送到您的应用程序服务器。发送通知时,将用户ID添加到通知消息中,然后使用它来确定用户的自定义帐户用户。