【问题标题】:Firebase offline capabilities in ionic / cordovaionic / cordova 中的 Firebase 离线功能
【发布时间】:2017-03-19 19:26:50
【问题描述】:

是否有人使用 Firebase 在 Android/iOS 中实现了具有完整离线功能的本机应用程序?

这可以在 Cordova/Ionic 中通过使用原生 Firebase SDK 的插件来完成吗?

我们正在构建一个在下载和首次启动时具有连接的应用,但随后我们必须假设一段时间内没有更多的互联网连接,并且数据库中的所有内容都必须离线可用。 Firebase 是否适合此要求,还是我们必须使用 CouchDB/PouchDB 或任何其他替代方案?

编辑:

这个问题涉及到 firebase 实时数据库。我相信新的 firebase Cloud Firestore 离线功能支持 ionic 开箱即用:

https://firebase.google.com/docs/database/rtdb-vs-firestore

实时数据库:仅对 iOS 和 Android 上的移动客户端提供离线支持。

Cloud Firestore:对 iOS、Android 和 Web 客户端的离线支持。

【问题讨论】:

    标签: cordova firebase ionic-framework persistence offline


    【解决方案1】:

    在他们的 JS SDK 中没有真正的“离线”支持 firebase。他们现在拥有的离线解决方案意味着如果您失去互联网连接,您将获得离线支持,并且如果连接“在线”,数据将同步回来。但是,如果您在再次上线之前关闭应用程序,您的“离线”数据就会丢失。

    这是一个 Cordova firebase 插件https://www.npmjs.com/package/cordova-plugin-firebase,但它还不支持实时数据库。如果需要,您可以尝试扩展它。

    如果您必须获得离线支持,我建议您使用您提到的 SQLite 或 CouchDB/PouchDB。

    【讨论】:

      【解决方案2】:

      您可以使用以下项目 - AngularFire2-offline

      它的目的是为支持浏览器(支持服务工作者)启用离线数据访问 - List of browsers (and matching versions) that support service workers

      它是这样工作的 -

      • 在线时,Firebase 数据存储在本地(当数据更改时,本地存储会更新)
      • 离线时,如果有本地数据,则提供本地数据,并在本地存储写入
      • 重新连接后,应用会使用新的 Firebase 数据进行更新,并将写入内容发送到 Firebase
      • 即使在线时,也会首先使用可用的本地数据,从而加快加载速度

      【讨论】:

      • 感谢您的回答。还有相关教程:javebratt.com/offline-angularfire2
      • 但是这个库已经被贬低了。那么离线持久性是否适用于混合应用程序?
      猜你喜欢
      • 1970-01-01
      • 2021-11-25
      • 2016-04-01
      • 1970-01-01
      相关资源
      最近更新 更多