我需要一个监听器和Google Firestore的推送通知吗



我正在React Native和Google Firestore后端制作一个应用程序。

使用Firestore API,我可以在聊天内容上设置一个监听器,这样应用程序就可以立即对新的变化做出反应,比如更新屏幕或通知用户。问题是,当手机屏幕被锁定时,这是不起作用的,因为那时听众就不再活跃了。

即使在锁定的情况下,也可以向应用程序发送推送通知。问题是,由于Firestore的限制(Firestore的OnCreate方法在触发时有几秒钟的延迟(,这要慢得多,因此无法在发送消息时立即接收消息。这也意味着,当用户只是聊天时,我必须推送大量通知,这正是Firestore监听器存在的原因。

我真的必须写一些丑陋的监听器/通知混合来处理这个问题吗,还是有什么我没有看到的?

谢谢!

问题不在Firestore。问题是,操作系统正在关闭应用程序的网络访问,以节省电池和网络成本。这不是你可以直接控制的事情。用户的电池寿命比任何人的应用程序中运行的代码都重要。这种行为是你需要接受和处理的。

推送通知之所以有效,是因为你向操作系统发出信号,它应该唤醒应用程序,这样它就可以做更多的工作。它会这样做一段时间,然后再次关闭应用程序以节省电池和网络。

你真的没有任何替代方案来实现";即时";更新-您所描述的系统正在按预期工作。