Android FirebaseInstanceId.getInstance().getToken()可靠性

Android FirebaseInstanceId.getInstance().getToken()可靠性,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,在阅读文档和其他来源时,建议调用FirebaseInstanceId.getInstance().getToken()内部onTokenRefresh()以确保获得更新的令牌 我尝试的是每次打开应用程序时调用它,并且它的返回值始终为空,我想知道这是一个值得信任的东西吗?(它是否保证每次调用时都生成令牌?)或者它是否有可能返回空值 由于我不希望用户使用同一帐户登录到多个设备,我希望使用它作为唯一标识符。根据我的知识和经验,我将尝试解决您的疑问: 是否保证每次调用令牌时都生成令牌 不,它不会在每次调

在阅读文档和其他来源时,建议调用FirebaseInstanceId.getInstance().getToken()内部onTokenRefresh()以确保获得更新的令牌

我尝试的是每次打开应用程序时调用它,并且它的返回值始终为空,我想知道这是一个值得信任的东西吗?(它是否保证每次调用时都生成令牌?)或者它是否有可能返回空值


由于我不希望用户使用同一帐户登录到多个设备,我希望使用它作为唯一标识符。

根据我的知识和经验,我将尝试解决您的疑问:

是否保证每次调用令牌时都生成令牌

不,它不会在每次调用此方法时生成令牌。它将只返回当前令牌

是否存在可能返回null的情况

是,如果您的令牌尚未生成,则返回null

我希望使用它作为唯一标识符

是的,您可以将其用作每个设备的唯一标识符,而不是每个帐户的唯一标识符。每个设备都有其独特的令牌

这是官方文件:

检索当前注册令牌

当您需要检索当前令牌时,请调用 FirebaseInstanceId.getInstance().getToken()。此方法返回null 如果尚未生成令牌


有关更多信息,请参阅。

根据我的知识和经验,我将尝试解决您的疑问:

是否保证每次调用令牌时都生成令牌

不,它不会在每次调用此方法时生成令牌。它将只返回当前令牌

是否存在可能返回null的情况

是,如果您的令牌尚未生成,则返回null

我希望使用它作为唯一标识符

是的,您可以将其用作每个设备的唯一标识符,而不是每个帐户的唯一标识符。每个设备都有其独特的令牌

这是官方文件:

检索当前注册令牌

当您需要检索当前令牌时,请调用 FirebaseInstanceId.getInstance().getToken()。此方法返回null 如果尚未生成令牌


有关更多信息,请参阅。

感谢您的明确回答。我的大部分问题都已回答,但为了澄清问题,在生成令牌后,调用FirebaseInstanceId.getInstance().getToken();返回当前令牌是否总是正确的?是的,它总是返回当前令牌。感谢您的明确回答。我的大部分问题都已回答,但为了澄清问题,在生成令牌后,调用FirebaseInstanceId.getInstance().getToken();返回当前令牌是否始终正确?是,它始终返回当前令牌。