Cloud Firestore 没有“goOffline”、“goOnline”方法。 (安卓)

Posted

技术标签:

【中文标题】Cloud Firestore 没有“goOffline”、“goOnline”方法。 (安卓)【英文标题】:Cloud Firestore doesn't have 'goOffline', 'goOnline' methods. (Android) 【发布时间】:2018-03-29 07:55:56 【问题描述】:

Firebase 实时数据库具有goOfflinegoOnline 可以手动管理连接的功能。但是,Firestore 没有这些方法。

当设备与服务器失去连接时,Firestore 是否会返回类似 NETWORK_ERROR 的异常?如果没有,当设备无法连接到互联网并重新连接时,如何手动管理 Firestore 连接。 (例如飞行模式、坏 wifi)

就我而言,我不使用persistence mode

【问题讨论】:

【参考方案1】:

Firestore 是否会在以下情况下返回类似于 NETWORK_ERROR 的异常? 设备与服务器失去连接?

您已经使用了addOnFailureListener,它使用了OnFailureListener,它可以为您提供一个Exception 对象,以通过getCause 或getMessage 查找异常背后的原因或消息,并进一步可以应用字符串检查,如包含等验证原因,但目前 FirebaseFirestore 没有提供标准方法。

当设备无法连接到互联网并重新连接时,如何手动管理 Firestore 连接。 (例如Airplane mode, Bad wifi

You can check the connectivity yourself also at desired places before executing firebase code

【讨论】:

感谢您的详细回答。所以你的意思是Firestore改变了onCancelled的行为which didn't support on Realtime database 实际上Firestore 中没有onCancelled 方法。我在哪里可以找到这个回调? @wonsuc 你有两种情况,第一种情况,没有网络(你可以自己检查连接,检查第二部分的链接),如果出现网络错误,请参考第一部分 您想检查 firebaseStorage 的网络错误吗?如果是,那么让我检查一下 抱歉,我问的是Firestore。

以上是关于Cloud Firestore 没有“goOffline”、“goOnline”方法。 (安卓)的主要内容,如果未能解决你的问题,请参考以下文章

Kivy buildozer Firestore 错误 - ModuleNotFoundError:没有名为“google.cloud”的模块

包 cloud_firestore 没有匹配的版本 >=0.7.0 <0.8.0 派生自

任务“:cloud_firestore:compileDebugJavaWithJavac”执行失败

@firebase/firestore:Firestore (8.6.5):无法访问 Cloud Firestore 后端

发生异常。 FirebaseException([cloud_firestore/permission-denied]

为啥我的 Firebase 存储 URL 没有上传到 Google Cloud Firestore?