处理keepSynced(),而在背景上的Android,并与FCM处理keepSynced(),而

2019-05-12 05:32发布

我正在考虑使用keepSynced()从火力地堡实时数据库的一些数据。 据我所知,它会自动同步这些路径。 但如何做,涉及到Android的生命周期? 如果用户离开的所有活动(以及所有正常的听众断开),它会停止同步? 我不想让应用成为数据或电池生猪。

在另一方面,我想,当FCM通知到达时更新缓存数据。 我可以推出一些服务,将连接到火力地堡。 我想同步这是在所有路径keepSynced()并停止它时,它的同步。 我不知道如何实现这一目标。 创建一个监听到的路径之一,并保持该服务运行一段时间? 服务完成后,它会停止同步?

Answer 1:

firebaser这里

问得好!

当没有活跃的活动,该操作系统可在任何时候关闭连接到数据库火力地堡。 我们的软件开发工具包不要试图阻止,但是当应用程序再次变为活动重新连接。

什么你描述你的第二段就是我们所说的“一键同步”,在这里您发送推送通知(通常是沉默的FCM数据消息)来触发数据的同步。

我们确实在去年的I / O的应用程序类似的东西和,虽然它比我们希望它是一个有点复杂,它的工作太棒了。 我们明确地管理在这种情况下的连接,调用goOnline()goOffline() (5分钟后IIRC)。 主同步码中可以找到的IOSched GitHub库 。



文章来源: Handling keepSynced() while on background on Android and with FCM