当我从文档和其他来源阅读时,建议在 onTokenRefresh()中调用 FirebaseInstanceId.getInstance()。getToken(); 以确保我们获得更新后的令牌
我尝试的是每次打开应用程序时都会调用它,它的返回值总是如此,我想知道这是值得信赖的东西吗?(是否保证每次调用时都会生成令牌?< / strong>)或者是否有任何可能返回null的情况?
因为我不希望用户使用相同的帐户登录多个设备,所以我希望将其用作唯一标识符。
答案 0 :(得分:3)
根据我的知识和经验,我会尽力解决您的疑虑:
是否保证每次调用时都会生成令牌?
不会每次调用此方法时都不会生成令牌。它只会返回当前令牌。
是否有任何情况可能会返回null?
是的,如果您的令牌尚未生成,则返回null。
我希望将它用作唯一标识符
是的,您可以将其用作每个设备的唯一标识符,而不是每个帐户。每个设备都有其唯一的令牌。
这是来自官方文件:
检索当前注册令牌
当您需要检索当前令牌时,请致电 FirebaseInstanceId.getInstance()。为gettoken()。此方法返回null 如果尚未生成令牌。
有关更多信息,请参阅this link。