从哪里,何时检索令牌以及何时可用?

它是对Firebase服务器的同步调用吗?如果我在应用程序生命周期中调用它的时间过早,是否可能尚未填充?

最佳答案

从哪里,何时检索令牌以及何时可用?


该令牌由FCM实例ID服务在后台生成,该令牌在您的应用运行后立即启动。令牌如何生成的细节尚不清楚,但我认为该设备需要与互联网的良好连接才能使其与FCM服务器通信以获取令牌。


  它是对Firebase服务器的同步调用吗?


从技术上讲,没有。如docs中所述:


  如果尚未生成令牌,则FirebaseInstanceID.getToken()返回null。


此时,如果令牌为null,则应该在onNewToken()中触发一个触发器,然后可以在其中调用getToken(),该触发器现在应包含该令牌。


  如果我在应用程序生命周期中过早调用它,可能还没有填充它?


通常可以在应用程序的MainActivity中尽快调用getToken()-在大多数情况下,当应用程序达到该点时,它已经具有了价值。但是话又说回来,如果它为null,则仍应正确处理。

关于android - 什么时候FirebaseInstanceId.getInstance()。getToken()= null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50092326/

10-12 05:05