Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android BroadcastReceiver每10分钟进行一次有效观察与单次检查_Android_Firebase_Broadcastreceiver - Fatal编程技术网

Android BroadcastReceiver每10分钟进行一次有效观察与单次检查

Android BroadcastReceiver每10分钟进行一次有效观察与单次检查,android,firebase,broadcastreceiver,Android,Firebase,Broadcastreceiver,我正在尝试为我的应用程序设置一个通知服务,显示工作场所中员工即将轮班的情况——当员工的老板为其添加新轮班时,我希望弹出通知 现在我的问题是,如何正确地实施它。在我的BroadcastReceiver中,我应该只制作一个Observable,持续监听firestore中节点的更改,还是不应该使用任何侦听器和jobscheduler,并每隔10分钟检查一次是否发生任何更改?实现这一点的适当方法是使用PUSH firebase服务。然后注册推送应用程序启动,并将令牌保存到存储轮班信息的后端 您可能会有

我正在尝试为我的应用程序设置一个通知服务,显示工作场所中员工即将轮班的情况——当员工的老板为其添加新轮班时,我希望弹出通知


现在我的问题是,如何正确地实施它。在我的BroadcastReceiver中,我应该只制作一个Observable,持续监听firestore中节点的更改,还是不应该使用任何侦听器和jobscheduler,并每隔10分钟检查一次是否发生任何更改?

实现这一点的适当方法是使用PUSH firebase服务。然后注册推送应用程序启动,并将令牌保存到存储轮班信息的后端

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


投票不是一个好的选择,这应该是万不得已的办法,而且应该提供一个很好的理由,因为这样做会浪费电池和资源。

很抱歉提出后续问题,但在最后一个小时我一直在阅读FCM文档,但有一件事对我来说仍然有点不清楚:注册令牌-我知道我可以通过打电话在我的android设备上获得它FirebaseInstanceId.getInstance.token,但我找不到在管理API中获取它的方法。我想我可以调用像admin.auth.getUserId…getRegistrationToken这样的东西,但在启动应用程序时,我应该在android设备中获取Rtoken,然后将registrationToken保存到Firestore并在API中检索它吗?:S:SHi pb4now。我不想这么说,但如果你从来没有做过推送通知,你就有点学习曲线了。一旦你做到了,这并不坏,但第一次尝试是一只熊。您可以使用firebase插件设置应用程序。你必须去门户网站为你的推送使用制作一个应用程序。您必须创建服务、回调和广播接收器。然后在启动时调用firebase以获取令牌,如果该令牌为null,则它将异步检索该令牌,并将调用onTokenUpdated,您需要将其发送到API服务器以保持其最新状态。然后你的服务器使用它是的,这是一个有点痛苦的屁股,但我不会放弃:-但再次为使我在正确的轨道Y ty