作者:乖乖88918 | 来源:互联网 | 2023-02-12 05:01
我正在考虑使用keepSynced()
Firebase实时数据库中的一些数据.我知道它会自动同步这些路径.但这与Android生命周期有何关系?如果用户离开所有活动(并且所有正常的侦听器都断开连接),它是否会停止同步?我不希望该应用程序变成数据或电池耗尽.
另一方面,我想在FCM通知到达时更新缓存数据.我可以启动一些连接到Firebase的服务.我想同步所有路径,并在keepSynced()
同步时停止它.我不知道如何实现这一目标.创建其中一个路径的监听器并使服务保持运行一段时间?服务完成后,它会停止同步吗?
1> Frank van Pu..:
这里有一个firebaser
好问题!
当没有活动活动时,操作系统可以随时关闭与Firebase数据库的连接.我们的SDK不会尝试阻止这种情况,但会在应用再次变为活动状态时重新连接.
您在第二段中描述的是我们所谓的"推送同步",您可以在其中发送推送通知(通常是静默FCM数据消息)以触发数据同步.
我们在去年的I/O应用程序中做了类似的事情,虽然它比我们想要的要复杂得多,但效果很好.在这种情况下,我们明确地管理了连接,调用goOnline()
和goOffline()
(5分钟后iirc).主同步代码可以在IOSched github repo中找到.