从哪里,何时检索令牌以及何时可用?
它是对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/