我们正在开发一个应用程序:
我们正面临一个后台任务的问题,该后台任务定期运行以将数据上传到我们的后端服务器。
问题是在我们的测试设备(Nexus 5x,Galaxy S7)上运行时它上传的数据很好,但在我们发布的版本中,大约有40%的用户没有将数据上传到我们的服务器内一天。我们正在使用Firebase Analytic和事件记录来验证我们的方法是否正常工作。
我们正在使用作业调度方法,因为我们不能在Android 8上使用后台服务(后台服务限制)。
在我们的最新版本中,我们使用Android JobScheduler作业进行网络后台任务。
以下是我们代码的示例:
Snd_Mer_Vol_Output = Snd_Mer_Vol_Output.rename(columns={'(1,Snd_Mer_Vol_Probability')': 'Snd_Mer_Vol_Probability'})
File "<ipython-input-28-057b6859dfa6>", line 1
Snd_Mer_Vol_Output = Snd_Mer_Vol_Output.rename(columns={'(1, 'Snd_Mer_Vol_Probability')': 'Snd_Mer_Vol_Probability'})
^
SyntaxError: invalid syntax
Firebase Analytic的统计数据显示,一天内40%的用户无法开始工作(onStartJob未被调用)。
我们考虑到用户设备可能没有互联网连接,设备可以进入打盹模式或应用处于应用待机状态。
我们想知道我们的解决方案是否有任何问题,以及我们的用例是否有更好的解决方案。我们希望应用程序正确发送我们在一天内收集的数据。
答案 0 :(得分:0)
Framework Job Scheduler的目标是API级别21.如果设备小于API级别21,则不会触发作业。
请在应用中查看链接作业调度以获得更好的性能。
Firebase JobDispatcher支持将Google Play服务用作调度(运行)作业的实现,但该库还允许您定义和使用其他实现:例如,您可能决定使用JobScheduler或编写自己的自定义码。由于这种多功能性,如果您的应用针对的Android版本低于5.0(API级别21),我们建议您使用此Firebase JobDispatcher。