【发布时间】:2021-06-07 22:10:18
【问题描述】:
你好颤振/移动开发者,
我手头有一个特殊的问题,我需要一些建议。我需要创建一个在一天中的特定时间执行特定任务的应用程序。时间每天都会变化,它会在午夜(或非高峰时间)通过 REST 调用获取更新的时间。无论如何,任务必须在预定的时间完成,即使在设备重启等之后。我已经对此进行了广泛的研究,我感觉 Flutter 不能很好地处理预定的任务,尤其是在 iOS 中,它可以终止一个无论出于何种原因应用。
我研究过的选项是:
-
workmanager (https://pub.dev/packages/workmanager/changelog):这似乎是最有希望的,如果不是最低频率 15 分钟,这对我来说还不够。如果是时候完成任务,我需要每分钟检查一次。有没有办法绕过这个限制?
-
本机解决方案。我对原生 iOS 和 Android 编码几乎没有经验,所以我不喜欢这个解决方案。但是通过一些研究,我看到了一些可以通过这种方法安排任务的示例。
-
服务器端通知。从表面上看,这似乎是一个很好的解决方案,我需要这方面的建议。是否该运行任务的计算将发生在服务器端,并且可以向设备发送通知(例如通过 Firebase),这将触发任务运行。这是否可行,设备在收到通知时会实际运行代码吗?
所以这些是我的选择。你觉得哪个最可行?如果比我有更多移动经验的人可以帮助我,我将不胜感激,也许有比我提出的三个更好的解决方案。谢谢。
【问题讨论】:
-
" 有没有办法绕过这个限制?" ... 仅当 Apple 更改其政策时。
-
我看到了this 视频,其中介绍了一些配置行为的策略/模式,我认为这些策略/模式不仅仅适用于视频名称(“Firebase 远程配置”)。
标签: android ios swift flutter scheduled-tasks