android - firebase 的云功能被触发太多次
问题描述
我们有一个 android 应用程序,它每 30 秒收集一次用户的位置并将其写入 Firebase 实时数据库。如果用户的位置 15 分钟没有改变,我想在 firebase 上执行云功能。
初始方法:让 android 应用每 15 分钟进行一次 HTTP 调用以调用云函数。
该方法的问题:有 1000 个活跃用户,预计将增长到 10,000 这种方法将导致每天触发 960,000(1000 个用户 * 每小时 4 个请求 * 24 小时)次。
位置的目的是,如果 15 分钟后没有改变,云功能会向 Web 客户端发送通知。手机在低连接性下运行并且是低端设备,因此让手机触发通知是不可行的。
目标是最小化要触发的云函数的数量。
什么是正确的方法,可以最大限度地减少云函数调用的数量?
解决方案
您要求的解决方案取决于位置数据使用的上下文。
- 如果只是统计,可以将位置数据缓存在本地,不定时推送到云端。
- 如果位置数据用于提供基于的服务,则由您根据实现的算法来决定。
推荐阅读
- cmake - CMake未能构建,找不到openssl
- c - 打印 C 链表会产生内存泄漏
- c - 零在C中的int字面量之间
- android - DatabaseHelper 中的 DeleteFunction(Long) 无法应用于 java.lang.String
- model-checking - SPIN 断言未触发
- javascript - 无法使用 AJAX 获取选择值
- php - preg_replace 模式不适用于 HTML 标签
- javascript - React Router 4:内部导航更改 URL 但不更改视图
- python - 熊猫找到 DateTimeIndex 之间的增量
- c# - 通过 HTTP 请求提取图像