【问题标题】:Firestore query returns"Failed to get document because the client is offline." in AndroidFirestore 查询返回“无法获取文档,因为客户端处于脱机状态。”在安卓中
【发布时间】:2020-03-31 16:15:25
【问题描述】:

实际上我正在多次调用 Firestore,它们都工作正常,但有一个返回 Failed to get document because the client is offline.

我的查询很简单:

fun getUserById(userID: String, onSuccessListener: OnSuccessListener<DocumentSnapshot>, onFailureListener: OnFailureListener) {
        Firebase.firestore
            .collection("users")
            .document(userID)
            .get()
            .addOnSuccessListener(onSuccessListener)
            .addOnFailureListener(onFailureListener)
    }

但是调用返回了 failureCallback。错误的日志就是我之前说的:Failed to get document because the client is offline.

很奇怪,因为是唯一的调用正在启动这个错误。其他更复杂的运行完美。

我查了一下,该文档存在于数据库中,访问规则没有改变。 该应用在google play中,并且在此构建之前可以正常运行,因此google service json文件是正确的。

使用的库:

//Firebase Core
    implementation 'com.google.firebase:firebase-core:17.3.0'
//Firebase Firestore
    implementation 'com.google.firebase:firebase-firestore-ktx:21.4.2'
//Firebase Authentication
    implementation 'com.google.firebase:firebase-auth:19.3.0'
//Firebase push notifications
    implementation 'com.google.firebase:firebase-messaging:20.1.4'

有什么建议吗?

【问题讨论】:

    标签: android firebase google-cloud-firestore


    【解决方案1】:

    我要指出,问题是与 Firestore 服务器和设备的连接,这一点很明显。

    我认为这可以通过在 Firebase 中使用 Firestore 的 Access data offline 功能来缓解,正如我所看到的您的用例。或者你已经在使用它了?

    我看到错误是间歇性的,但正如您所指出的,它似乎只是“用户”集合失败,是否会发生“用户”集合未存储在手机缓存中而导致提到的错误?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-28
      • 2022-07-01
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2016-02-07
      • 2020-11-07
      相关资源
      最近更新 更多