【问题标题】:Firebase Firestore cost with listenerFirebase Firestore 与监听器的费用
【发布时间】:2020-12-04 23:58:23
【问题描述】:

有几个与 Firestore 成本相关的问题,但我找不到能在我脑海中澄清问题的问题。

我有两种情况,我想知道每种情况的估计费用和文档读取次数。

假设我有一个显示 10 个用户的单页应用。打开应用程序会将侦听器附加到 userList 集合并侦听该集合中的 10 个文档,然后关闭应用程序将侦听器与 firestore 分离。

案例 1: 如果任何文档都没有更新,我会打开并关闭应用程序,然后在 30 分钟内再次打开它。文档读取计数是多少? 10、20 还是其他?

案例 2: 我打开和关闭应用程序;一个文档已更新,我在 30 分钟内再次打开它。文档读取计数是多少? 11、21 还是其他?

【问题讨论】:

  • 问题:您是否尝试使用 Firebase API 做一些特定的事情,或者您是否正在寻求针对特定 Firebase 产品优化应用使用(例如存储空间或带宽)的建议?
  • @MrTech 我只想知道上述情况下的估计读取数,因为我不清楚。

标签: firebase google-cloud-firestore


【解决方案1】:

这取决于您所说的“关闭应用程序”。

如果您有一个监听器由于网络连接中断而被切断,但应用程序进程仍在运行,当网络恢复时监听器将自动重新连接。如果网络在 30 分钟内恢复正常,则无需为更新付费。如果网络在 30 分钟后恢复正常,您需要为新的查询付费。

如果您有一个侦听器被切断因为应用程序进程被操作系统终止,然后在再次启动应用程序时重新连接,您将被收取另一个查询费用。 p>

如果应用程序只是在后台运行但未终止,并且侦听器在后台仍处于活动状态,则行为不会发生任何变化,但在仍添加但在应用程序进程之前,您仍需为文档更新付费最终失去网络并完全终止。

如果您的代码删除了一个侦听器并再次添加它,您将需要为新的查询付费。

您必须弄清楚哪些情况适用。 SDK 不会跟踪用户的意图。它只是跟踪网络的行为,并受操作系统管理的进程状态的影响。用户“关闭应用程序”的操作可能涉及许多不立即显而易见的细节。

【讨论】:

  • 感谢您的回答!就我而言,关闭应用程序意味着用户可以正常使用该应用程序而没有任何麻烦。但无论如何,我想我明白了。
  • 好吧,即使这也没有很好的定义。在 Android 上,用户可以使用主页按钮离开应用程序,然后在应用程序进程未终止的情况下返回应用程序。 Android 和 iOS 都没有提供“正常关闭而没有任何麻烦”的操作,总是立即终止进程。
  • 对不起,我的解释没有很好的定义。正如我所说的“打开应用程序会将侦听器附加到 userList 集合并侦听该集合中的 10 个文档,然后关闭应用程序将侦听器与 firestore 分离”。我只是假设这种情况,我的重点是附加和分离监听器。也许我可以说启动和终止进程,而不是打开和关闭应用程序。无论如何,谢谢!
猜你喜欢
  • 2019-10-24
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2021-03-30
  • 2018-05-09
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
相关资源
最近更新 更多