2

我在 Firebase 文档中读到,如果设备从 FCM 接收到高优先级消息并且网络连接将打开到应用服务器,它将被带出睡眠状态。我已经测试了这种行为,并且我知道它确实可以将设备从打盹中唤醒。

我的用例是我需要使用推送消息的数据标签中的设置键下载图像。会有多个这样的推送通知,我会将所有这些消息保存在数据库中。

说十分钟后,通知实际上会被触发到用户的屏幕上,以避免用户在立即打开网络连接时收到大量其他通知。

我的问题本质上是:

  1. 设备的唤醒时间是否足以让我下载图像并将其保存到数据库(图像大小最大为 100kb)?

  2. 或者我应该使用 JobScheduler API 将下载推迟到以后,以确保网络连接?

4

1 回答 1

2

是的,您应该推迟下载,但这取决于您的应用程序的性质。文档说,高优先级消息为应用程序提供临时访问权限,因此不能保证您的图像下载实际上会在该窗口中完成。

您的应用程序消息是否对时间敏感(我的意思是如果用户在 10 分钟后看到它们,世界会崩溃)?如果没有,那么你应该完全按照你自己的建议。否则,您可能会启动一个前台服务,这可能会阻止设备进入打盹模式(请注意,您的应用可能会消耗大量电池,最终可能会给用户留下负面印象)。

于 2017-02-16T12:03:29.323 回答