实际上,我正在对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'
有什么建议吗?
答案 0 :(得分:0)
我要指出的是,有关问题是与Firestore服务器和设备的连接这一事实很明显。
我认为将Firestore的Access data offline功能与Firebase一起使用时可以缓解此问题,我认为这是您的用例。还是您已经在使用它?
我看到该错误是间歇性的,但是正如您所指出的那样,似乎只有“用户”集合失败了,是否有可能该“用户”集合没有存储在手机缓存中而导致提到的错误?