【问题标题】:Which Firebase Offline Capabilities to use for a quiz app (ios)哪些 Firebase 离线功能可用于测验应用 (ios)
【发布时间】:2017-07-02 22:09:41
【问题描述】:

我正在 XCode (Swift 3.0) 中制作一个简单的测验应用程序,但遇到了几个与 Firebase 相关的问题,我真的很想得到一些帮助。首先,让我解释一下我要做什么:

  1. 我想将题库存储在 Firebase 上,以便我可以添加、删除和更新问题,然后在用户手机上自动更新这些问题,而无需通过 AppStore 进行更新。

  2. 应该有一些关于每个用户的“元”数据存储在 Firebase 上,例如昵称和已完成问题的 id 列表,这样同一个问题就不会被问两次。我希望在 Firebase 上拥有这些数据的原因是我希望允许用户从不同的设备登录并从他们之前的位置继续。

  3. 如果可能,我想尽量减少调用 Firebase 的次数,以免应用过多地使用用户的漫游。

我查看了 Firebase 离线功能,我的问题是:

  1. 我不太了解 .isPersistenceEnabled 和 .keepSynced 之间的区别 - 如果有人能解释这一点,我将不胜感激。

  2. 对于上述要求,您建议我做什么(.keepSynced、.isPersistenceEnabled 或其他什么?)

提前非常感谢!

【问题讨论】:

    标签: ios firebase firebase-realtime-database offline-caching


    【解决方案1】:

    启用持久性会设置基于本地磁盘的数据缓存,这些数据之前已从 Firebase 实时数据库中读取。

    keepSynced() 在引用上相当于在引用上添加空侦听器。这具有确保对服务器上该位置的任何更改都将自动下载到客户端的效果。在应用程序被杀死后,这不会持续。如果您希望始终启用此功能,则必须编写应用程序以在每次启动时调用它。

    当您使用 keepSynced() 并启用持久性时,这意味着客户端缓存应始终包含来自服务器的最新数据,只要客户端具有连接以接收这些更新。这意味着其他侦听器将立即从该位置接收和缓存数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 2016-04-01
      相关资源
      最近更新 更多