试图 background_fetch:'^ 0.1.0' 和alarm_manager程序包,但是当应用程序关闭时,从最近的应用程序中删除,它将不起作用。 我需要每15分钟打一次API,如果有数据,则显示通知
应用关闭时 任何无需编写本机代码的解决方案。 我不知道iOS开发,我知道Android 我不需要Firebase推送通知
答案 0 :(得分:1)
应用开发者无法在iOS上控制后台抓取。它由操作系统控制。您注册“后台应用程序刷新”。
您的应用程序注册完成后台应用程序刷新后。操作系统会酌情决定定期唤醒您的应用程序,让您执行一些工作。然后,您的应用将再次重新进入睡眠状态。根据用户打开应用程序的场景有多久,它可能已从ram中清除。如果您已从ram中清除,则很可能直到用户打开您的应用或接通电源并为手机充电后,您才会再次被唤醒。
来自https://pub.dev/packages/background_fetch
iOS可能需要花费几个小时甚至几天才能开始一致地调度后台获取事件,因为iOS会根据用户的活动模式来调度获取事件。
iOS支持推式通知以节省电池寿命。所有推送通知都通过苹果APN服务运行。
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server 这可以节省电池寿命,因为设备上的Apple只需保持一个恒定的连接即可。而不是来自许多服务器的多个连接。