我有一个网络应用程序,每个用户都持有用户ID和firebase通知令牌。用户和令牌在Android设备上创建并发送到服务器,因此服务器知道发送通知的位置(因为令牌)。
这里的问题是,一个用户可以登录多个设备。如果用户在两台设备上,那么我应该向两台设备发送通知。 Web应用程序知道一个用户ID的2个令牌。没关系。
但是,如果我在同一设备上卸载并安装该应用程序,该怎么办?我为用户获得了一个新令牌,因此我将其保存到Web应用程序,但后来我有一个用户ID的3个令牌。这是不正确的,因为我应该只有2个令牌(一个令牌是OLD)。
我知道我也可以保存DEVICE ID(UUID),所以我知道在那台设备上已经更改了令牌,所以我可以删除设备的旧版本。但是对于Android SDK 23及更高版本,我需要获得读取UUID的特殊权限。但我不想打扰用户请求访问UUID的权限。
所以我在这里遇到了问题。我想在我的网络应用程序中仅保留一个用户ID的VALID令牌(如果用户有2个电话,那么我应该只为用户保留2个令牌),但我不知道如果没有用户接受许可。
请在这里帮助我,我真的找不到标准的解决方案和答案:(我想有一些标准的解决方案。
谢谢!
答案 0 :(得分:0)
你如何尝试获得它要求许可的唯一ID?
请尝试这个,似乎不要求任何运行时权限
Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);