导出数据以预加载到移动应用中的Firebase实例中

时间:2018-01-05 01:05:08

标签: android ios firebase firebase-realtime-database

用例是一个用于活动的双平台移动应用程序。有一个时间表,包括照片,链接,演讲者的简介和谈话说明。如果所有与会者碰巧同时在同一个地方下载并打开应用程序,他们可能无法获得最佳体验 - > WiFi可能会减慢对数据服务器的调用,对FireBase服务器端的调用将会激增。

是否可以从服务器端导出数据库并将事件计划数据预加载到移动应用程序下载中?启动后,应用可以根据需要同步任何最后一分钟的更新,连接和与Firebase的短同步。

如果此类架构不可用,Firebase团队会推荐一种替代方案吗?

2 个答案:

答案 0 :(得分:2)

Firebase数据库API中无法将数据预加载到磁盘缓存中。

我能想到的两件事(他们都不是很好):

  1. 让客户端从您应用的资源中读取JSON文件,然后写入该位置。最终结果是服务器上的数据保持不变。但它确实导致每个客户端向服务器写入相同的数据,因此与原始问题相反(可能性能更差)。
  2. 围绕从JSON文件加载的Firebase API调用包装,然后让它们在随机延迟后附加监听器(以减少对应用程序的冲击)。
  3. 如上所述,它们都不是很好。对于它们,您可以从Firebase Database console下载JSON。

    根据我的经验,会议应用程序的使用率远远低于大多数开发人员/组织者的想象。它通常在会议期间非常好地分散。因此,减少加载的数据量可能足以使事情有效。

答案 1 :(得分:0)

在Android上,您可以使用应用程序在assets目录中发送sql数据库,然后在用户打开应用程序时将其与更新进行协调。 Firebase数据库是一个json文件。您也可以将其发送到assets目录中,然后在首次加载时进行协调。