我在Firebase文档中看到,如果设备收到来自FCM的高优先级消息,并且网络连接将向应用程序服务器打开,则设备将从睡眠中退出。我已经测试过这种行为,我知道它确实唤醒了一个设备。设备在收到FCM高优先级消息时会保持清醒状态多久?
我的用例是这样的,我需要使用推送消息的数据标签中的设置密钥下载图像。会有多个这样的推送通知,我将把所有这些消息保存在一个数据库中。
说了十分钟后,通知将实际上触发到用户的屏幕上,以避免用户在立即打开网络连接时收到的大量其他通知。
我的问题本质上是:
将在设备清醒足够长的时间来下载图像并将其保存到数据库(图像尺寸为最大100KB)?
或者我应该使用JobScheduler API推迟下载,以确保网络连接?
这很好,如果它不完全是十,那更像是至少十。我担心jobcheduler仍然是一样的。假设设备处于打盹状态,并且维护窗口到达,从而导致我的工作按计划进行。现在我需要多长时间下载所有图像?假设有五十张图片,他们会在该窗口下载吗?窗户有多长时间? – Kushan
不,他们绝对不会。如果有50张图像,则需要多个维护窗口才能完成下载。但有利的是,用户并未完全使用该设备或应用程序。那么它有什么关系 – Dibzmania
雅不幸的是,它确实:(我负责人发送这些图像哈哈,这对我来说是非常重要的,这些得到了交付和显示。甚至必须使用jobinfo闲置为假 – Kushan