首页 > 解决方案 > 在 FireStore 中如何知道客户端是否正在收听特定文档

问题描述

我有以下情况。

  1. 传感器每 30 秒生成一次数据。
  2. 更新 FireStore 文档上的传感器数据。
  3. 移动应用程序实时显示传感器数据。

上述步骤的一个问题是发生了大量数据写入,这增加了计费。我想通过更改第 2 步来优化它。

  1. 仅当移动应用程序正在侦听实时更新时才更新 FireStore 文档上的传感器数据

要进行此优化,我需要一种方法来了解应用程序是否正在侦听实时更新。那么当应用程序启动/停止以收听实时更新时,是否会触发 FireStore 事件/回调。

标签: google-cloud-firestore

解决方案


Firestore 中没有为此内置任何内容。

想到的两个选项:

  • 使用为 Firestore 记录的存在解决方案,该解决方案在后台使用 Firebase 的实时数据库。这为您提供了一种跟踪哪些用户连接到数据库的方法。
  • 仅基于 Firestore 自己构建一些东西,例如让每个移动应用程序定期将服务器时间戳写入已知文档,然后从传感器读取最新时间戳并确定该时间戳是否足够新以发送更新。

推荐阅读