一个用户到多台设备的 Firebase 通知 - Android 问题

Pet*_*ott 6 android android-notifications firebase

我有一个 Web 应用程序,它为每个用户保留一个用户 ID 和 Firebase 通知令牌。用户和令牌在 Android 设备上创建并发送到服务器,因此服务器知道将通知发送到哪里(因为令牌)。

这里的问题是,一个用户可以登录多个设备。如果用户在两个设备上,那么我应该向两个设备发送通知。Web 应用程序知道一个用户 ID 的 2 个令牌。那没问题。

但是如果我在同一台设备上卸载并安装该应用程序呢?我为用户获得了一个新令牌,因此我将其保存到 Web 应用程序中,但随后我为一个用户 ID 获得了 3 个令牌。这是不正确的,因为我应该只有 2 个令牌(一个令牌是旧的)。

我知道我也可以保存设备 ID (UUID),所以我知道那台设备上的令牌已更改,因此我可以删除设备的旧令牌。但是对于 Android SDK 23 及更高版本,我需要请求特殊权限才能读取 UUID。但我不想打扰用户要求访问 UUID 的权限。

所以我这里有问题。我只想为我的 Web 应用程序上的一个用户 ID 保留 VALID 令牌(如果用户有 2 部手机,那么我应该只为用户保留 2 个令牌),但如果没有用户接受许可,我不知道如何。

请在这里帮助我,我真的找不到标准解决方案和答案:(我想有一些标准解决方案。

谢谢!

And*_*nik 0

你如何尝试获取它请求许可的唯一ID?

请尝试一下这个,它似乎不需要任何运行时权限

Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
Run Code Online (Sandbox Code Playgroud)