2

在我重新登录之前,Android Firebase 似乎停止同步。

  • 我使用 Firebase Admin SDK 将数据推送到 Firebase。
  • 我向手机发送一条 FCM 消息以将其唤醒。该消息包含新数据的推送 ID。Android 应用程序会读取 Firebase,直到它看到新的推送 ID,然后处理数据。

通常这是有效的。有时电话会处于看不到新推送 ID 的状态。注销/登录会使其重新开始工作。

这不是竞争条件,因为我在 FCM 消息中将推送 ID 发送到手机。这让 Android 应用程序可以读取,直到它看到推送 ID(或者在我的情况下有时会超时)。我已验证数据已推送到 Firebase,并且 Android 应用正在尝试读取正确的 ID。

一旦手机处于这种状态,它就会继续失败,直到我重新登录。没有错误或异常(uid 不为空,我可以附加监听器)。它只是永远不会看到新的推送 ID。如果我注销并重新登录(不重新启动应用程序),那么它会再次开始工作。这是一个非常间歇性的问题。

当手机无法读取已知的良好推送 ID 时,我可以存储凭据并使用新的身份验证令牌重新登录(顺便说一句,该应用程序使用由 Firebase Admin SDK 生成的自定义令牌)

问题:我是否遗漏了有关身份验证的内容?为什么在我重新登录之前,Android 应用程序会停止同步?

4

0 回答 0