如何解决Google Firestore是否需要侦听器和推送通知?
我正在React Native和Google Firestore后端中创建一个应用程序。
使用Firestore API,我可以在聊天内容上设置一个侦听器,以便该应用程序可以对新更改(例如更新屏幕或通知用户)立即做出反应。 问题在于,当手机的屏幕锁定时,此操作将不起作用,因为这样监听程序将不再处于活动状态。
即使被锁定,仍然有效的功能是向应用程序发送推送通知。问题在于,由于Firestore的限制(Firestore的OnCreate方法在触发时有几秒钟的延迟),因此速度慢得多,因此无法在发送时立即接收消息。这也意味着,当用户只是聊天时,我不得不推送很多 通知,这正是Firestore监听器存在的原因。
我真的必须编写一些丑陋的侦听器/通知混合来解决此问题,还是我看不到某些东西?
谢谢!
解决方法
该问题与Firestore无关。问题在于,操作系统正在关闭应用程序的网络访问,以节省电池和网络成本。这不是您可以直接控制的事情。用户的电池寿命比在任何人的应用程序中运行的代码更为重要。这种行为是您需要接受并使用的。
推送通知之所以起作用,是因为您正在向操作系统发出信号,通知它应该唤醒应用程序,以便它可以执行更多工作。它将执行一次,然后再次关闭该应用程序以节省电池和网络。
您实际上没有实现“即时”更新的任何替代方法-您所描述的系统正在按预期运行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。