首次打开应用时创建Firebase实例ID

时间:2017-09-07 22:38:04

标签: android firebase token instanceid

因此,我很难确定何时创建InstanceID,以及它在第一次打开时无法正常工作的原因。

当我第一次运行应用程序时,此代码返回null。

FirebaseInstanceId.getInstance().getToken();

我甚至尝试了一个循环,只是等到它返回了一些东西但没有运气。

但是当我关闭应用并再次打开它时,我会获得InstanceID。有什么线索的原因?我试图在应用程序的启动画面上获取它。

onTokenRefresh未被调用,直到重启。我可以看到一些工作......但更喜欢把它从蝙蝠中解脱出来。

谢谢!

2 个答案:

答案 0 :(得分:0)

来自the documentation

  

在您的应用首次启动时,FCM SDK会生成注册   客户端应用程序实例的令牌。如果你想定位单身   设备或创建设备组,您需要通过以下方式访问此令牌   扩展FirebaseInstanceIdService。

您需要子类FirebaseInstanceIdService,将该服务添加到您的清单,并覆盖onTokenRefresh()以获得对令牌的任何更新的通知。

如果FirebaseInstanceId.getInstance().getToken()返回null,则表示尚无可用的令牌。因此,您应该在服务中等待它。

答案 1 :(得分:0)

原来,它正确地清洗,而不是没有创建。那是其中一天......