【发布时间】:2018-04-29 23:39:08
【问题描述】:
从何处、何时检索令牌以及何时可用?
它是对 Firebase 服务器的同步调用吗?如果我在应用生命周期中过早调用它,它可能还没有被填充吗?
【问题讨论】:
标签: android firebase firebase-cloud-messaging
从何处、何时检索令牌以及何时可用?
它是对 Firebase 服务器的同步调用吗?如果我在应用生命周期中过早调用它,它可能还没有被填充吗?
【问题讨论】:
标签: android firebase firebase-cloud-messaging
令牌从何处、何时检索以及何时可用?
令牌由 FCM Instance ID 服务在后台生成,该服务会在您的应用运行后立即启动。关于如何生成令牌的详细信息尚不清楚,但我认为该设备需要良好的互联网连接才能与令牌的 FCM 服务器通信。
是对 Firebase 服务器的同步调用吗?
从技术上讲,没有。正如docs中提到的:
FirebaseInstanceID.getToken()如果令牌尚未生成,则返回 null。
此时,如果令牌为空,您应该会在您的 onNewToken() 中期待一个触发器,然后您可以在其中调用现在应该包含令牌的 getToken()。
如果我在应用生命周期中过早调用它,它可能还没有被填充吗?
通常可以尽快调用getToken()(在您应用的 MainActivity 中),在大多数情况下,当您的应用到达该点时,它已经有了一个值。但是话又说回来,如果它为null,您仍然应该正确处理它。
【讨论】: