google-cloud-firestore - 在 FireStore 中如何知道客户端是否正在收听特定文档
问题描述
我有以下情况。
- 传感器每 30 秒生成一次数据。
- 更新 FireStore 文档上的传感器数据。
- 移动应用程序实时显示传感器数据。
上述步骤的一个问题是发生了大量数据写入,这增加了计费。我想通过更改第 2 步来优化它。
- 仅当移动应用程序正在侦听实时更新时才更新 FireStore 文档上的传感器数据
要进行此优化,我需要一种方法来了解应用程序是否正在侦听实时更新。那么当应用程序启动/停止以收听实时更新时,是否会触发 FireStore 事件/回调。
解决方案
Firestore 中没有为此内置任何内容。
想到的两个选项:
- 使用为 Firestore 记录的存在解决方案,该解决方案在后台使用 Firebase 的实时数据库。这为您提供了一种跟踪哪些用户连接到数据库的方法。
- 仅基于 Firestore 自己构建一些东西,例如让每个移动应用程序定期将服务器时间戳写入已知文档,然后从传感器读取最新时间戳并确定该时间戳是否足够新以发送更新。
推荐阅读
- java - JPQL 多对多计数直方图
- c++ - 计算选定行的总和
- java - 数据驱动无法使用 Testng 数据提供程序
- python - Python Flask:如何将字典对象转换为 json?
- python-3.x - Python3:调用一个类作为一个单独的进程
- javascript - bootstrap 4 使用 js 隐藏元素
- c# - 从调整大小事件
- azure - Azure 媒体服务直播/点播
- javascript - date-fns 中的什么方法相当于 moment().toISOString()
- android - 微调器无法应用于(匿名 android.widget.AdapterView.onitemselectedlistener)