我在firebase文档中阅读,如果设备从FCM收到高优先级消息,并且将向App Server打开网络连接。我已经测试了这种行为,我知道它确实会唤醒打do的设备。
我的用例使我需要使用按下消息的数据标签中的集合键下载图像。将会有多个此类推送通知,我将把所有这些消息保存在DB中。
说十分钟后,通知实际上会触发到用户的屏幕上,以避免用户立即打开网络连接时收到的许多其他通知。
我的问题本质上是:
-
该设备的清醒时间足以让我下载图像并将其保存到DB(图像大小为最大100KB)?
-
,或者我应该使用JobsCheduler API将下载推迟到以后的时间,以确保网络连接?
是的,您应该推迟下载,但这取决于应用程序的性质。文档说,高优先级消息可以使应用程序临时访问,因此不能保证您的图像下载实际上会在该窗口中完成。
您的应用程序消息时间敏感(我的意思是,如果用户在10分钟后看到它们会崩溃)吗?如果不是这样,您应该完全遵循自己的建议。否则可能是您可以启动前景服务,这可能会阻止设备进入打ze模式(请注意,您的应用程序可能会耗尽大量电池,最终可能会给用户带来负面印象)。