在我的应用程序中,注册设备后,它将存储为持久性数据,以检查设备是否已注册。
在服务器端,我将它们与user_id一起存储在数据库中,后者是用户的唯一ID。
现在我无法解决这种情况:
如果用户注销:
问题是我的数据库使用canonical_ids更新或说我在调用时获得的最新registration_ids
https://android.googleapis.com/gcm/send
因此,有机会我无法找到注销用户的旧registration_id来删除,这仍然允许向未登录用户发送通知。
另外,我无法删除与user_id匹配的数据库行,因为用户可能仅从1台设备注销,并且他/她仍在登录的设备很少。
我怎么知道对于此特定用户和设备,注册ID已更改?
我是否应该在数据库中存储所有旧的注册ID及其对应的canonical_id?
最佳答案
您有两种选择:
关于Android-GCM : How to take care of a logged out user?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16851677/