用于测验应用的 Firebase 离线功能 (ios)



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

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

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

  3. 如果可能的话,我想尽量减少对Firebase的调用次数,以便应用程序不会过多地使用用户的漫游。

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

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

  2. 对于上述要求,您建议我做什么(.keepSynced,.isPersistenceEnabled或其他任何内容?

提前非常感谢!

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

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

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

最新更新