我正在创建一个应用程序,使用谷歌的Firebase作为其推送通知服务。我只是使用推送通知服务器,并且不想使用其它服务(例如数据库、认证等)。
在我的应用程序中,注册的用户可以拥有多个设备和多个Firebase令牌。问题出现在当`onRefreshToken`被调用时。我应该知道用户正在使用哪个设备,并更新该特定设备的令牌在我的数据库中。因此,我需要知道每个设备的唯一标识符,在其生命周期内不会改变。
我想知道是否有更好的方法来解决这个问题。如果没有,我对Android的唯一ID感到困惑。两种选择是`Settings.Secure.ANDROID_ID`,但可能存在问题(所以我不确定是否应该使用它),另一个是`TelephonyManger.getDeviceId()`,有时会返回空值,而且对于没有SIM卡槽的设备(如平板电脑)也无法使用。
那么你建议我怎么做?
在我的应用程序中,注册的用户可以拥有多个设备和多个Firebase令牌。问题出现在当`onRefreshToken`被调用时。我应该知道用户正在使用哪个设备,并更新该特定设备的令牌在我的数据库中。因此,我需要知道每个设备的唯一标识符,在其生命周期内不会改变。
我想知道是否有更好的方法来解决这个问题。如果没有,我对Android的唯一ID感到困惑。两种选择是`Settings.Secure.ANDROID_ID`,但可能存在问题(所以我不确定是否应该使用它),另一个是`TelephonyManger.getDeviceId()`,有时会返回空值,而且对于没有SIM卡槽的设备(如平板电脑)也无法使用。
那么你建议我怎么做?
onTokenRefresh()
中从那里读取它。 - Frank van Puffelen