当应用程序长时间进入后台时,Firestore 监听器被杀死

E. *_*Sun 5 firebase flutter google-cloud-firestore

在我的应用程序中,每当用户登录时,我都会监听 Firestore 查询。应用程序进入后台一段时间后,监听器将被取消,并且客户端不会收到任何新更改的通知。

如何知道监听器是否已被 SDK 取消?处理这个问题的正确方法是什么?

Fra*_*len 0

在大多数操作系统上,这是由系统本身自动完成的,以延长电池寿命。是否可以检测到这种情况以及如何检测,取决于操作系统。

在大多数情况下,最好依靠另一种机制来向未主动使用的应用程序提供更新,例如 Firebase Cloud Messaging - 您可以从 Cloud Functions 等调用它来向后台应用程序传递消息。有关此示例,请参阅有关在发生有趣的事情时通知用户的Firebase 文档。

  • 非常感谢弗兰克的回答!目前我的主要问题是,当用户返回应用程序时,侦听器已悄然被杀死,我将显示陈旧的数据。那么,每当应用程序从后台返回时,我是否应该再次注册侦听器(并杀死前一个侦听器)?这感觉就像 Firestore SDK 应该做的事情。有人向您提出过此功能请求吗? (4认同)