Flutter Firestore 离线数据库

Pie*_*aar 3 firebase flutter google-cloud-firestore

我有一个关于 Cloud Firestore 和 Flutter 的澄清问题:我正在制作一个应用程序,用户可以创建某种日志条目,这些条目将保存在 Firebase 上。但在再次连接互联网之前,他们可能会离线输入最多 30 个条目。

我知道Firestore有一个离线功能,任何创建的文档都可以离线查看,因为它是按照日志记录的顺序保存的,然后在获得互联网连接时与数据库同步。但绝对重要的是,这些日志在有机会上传之前不会在我的应用程序中丢失。有没有办法确保我的应用程序在再次连接到 Firebase 之前不会丢失这些数据,或者我应该在设备上创建一个 Sembast 数据库,并保存所有内容的副本,然后偶尔根据数据库进行检查?

如果手机电池在与 Firestore 同步之前没电,Firestore 是否有离线应急措施?

或者还有其他我不知道的解决方案?

小智 7

对于 Android 和 iOS,默认启用离线持久性。您无需在代码中执行任何操作。

请注意,默认缓存大小为 100 MB。但这可以改变,例如

let settings = Firestore.firestore().settings
settings.cacheSizeBytes = FirestoreCacheSizeUnlimited
Firestore.firestore().settings = settings
Run Code Online (Sandbox Code Playgroud)