BroadcastReceiver 活跃 Observable 与每 10 分钟一次检查

BroadcastReceiver active Observable vs single check up every 10min

我正在尝试为我的应用程序设置一个通知服务,该服务显示工作场所员工即将到来的轮班 - 当 his/her 老板为员工添加新班次时,我希望弹出通知向上。

现在我的问题是什么是正确的实现方式。在我的 BroadcastReceiver 中,我应该只创建一个 Observable 来不断监听 firestore 中节点的变化,还是我不应该使用任何监听器并使用 jobscheduler 并每隔 10 分钟检查一次是否发生任何变化?

实现此目的的适当方法是使用 PUSH firebase 服务。然后在应用程序启动时注册 PUSH,并将您的令牌保存到存储班次信息的后端。

您可能会有一个 API 来更改、添加或删除班次,然后 API 应该为所有受班次更改影响的员工使用适当的 PUSH 令牌并将有效负载发送到适当的设备进行刷新或显示要打开的通知图标,或您希望由此发生的任何操作。

轮询不是一个好的选择,这应该是最后的手段,并且应该提供一个很好的理由,因为它会浪费电池和资源。