【发布时间】:2020-04-22 21:28:40
【问题描述】:
查看Firestore Documentation,我找不到任何指示离线数据同步实际发生的时间。如果连接恢复并且应用程序在后台,那么同步会发生,还是会在应用程序下一次启动连接时发生?
【问题讨论】:
标签: android ios firebase google-cloud-firestore offline
查看Firestore Documentation,我找不到任何指示离线数据同步实际发生的时间。如果连接恢复并且应用程序在后台,那么同步会发生,还是会在应用程序下一次启动连接时发生?
【问题讨论】:
标签: android ios firebase google-cloud-firestore offline
应用程序的状态根本不涉及同步。 SDK 只需要与 Firestore 建立开放连接即可进行同步,并且只要该连接可用,它就会执行此操作,并根据需要重试。 SDK 将尝试尽可能长时间地保持此连接打开。
也就是说,主机操作系统通常会关闭网络访问并终止前台用户不可见的应用程序进程。如果发生上述任何一种情况,SDK 将无能为力。
【讨论】:
Firestore 的离线功能用作应用程序最近加载的数据的缓存,当您的应用程序缺少与服务器的连接时,它可以访问这些数据。
因此,如果您 get data 或 keep a listener on data,则该数据也会存储在此离线缓存中。除此之外,Firestore 不会进行自动数据同步。
如果您希望离线缓存中的某些数据保持最新,则需要保持一个活动侦听器以更新该数据。侦听器不必对这些数据做任何事情,但它确实需要附加,以便在缓存中更新数据。
【讨论】: