离子/ cordova中的Firebase离线功能

时间:2016-11-06 10:51:04

标签: cordova firebase ionic-framework persistence offline

有人在Android / iOS中使用具有完全离线功能的Firebase实现了原生应用吗?

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

我们正在构建一个在下载和首次启动时具有连接的应用程序,但之后我们必须假设暂时不再有互联网连接,并且数据库中的所有内容都必须可以脱机使用。 Firebase是否适合此要求,或者我们是否必须使用CouchDB / PouchDB或任何其他替代方案?

修改

这个问题涉及firebase实时数据库。我相信,使用新的firebase Cloud Firestore离线功能可以直接支持:

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

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

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:4)

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

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

它以这种方式工作 -

  • 在线时,Firebase数据存储在本地(随着数据更改,本地存储更新)
  • 离线时,如果可用,则提供本地数据,并在本地存储写入
  • 重新连接时,应用程序将使用新的Firebase数据进行更新,并将写入内容发送至Firebase
  • 即使在线,当可用时首先使用本地数据,这会导致更快的负载