如果 Android 设备处于屏幕关闭状态的待机模式,Google Cloud Messaging 是否可以向该设备发送消息?或者 GCM 是否必须等到设备退出待机模式才能接收消息?
在文档中它指出:
Google 将消息排入队列并存储,以防设备离线。当设备在线时,Google 会将消息发送到设备。
但是没有任何迹象表明离线或在线是什么意思。即使屏幕关闭,设备是否仍然在线?
如果 Android 设备处于屏幕关闭状态的待机模式,Google Cloud Messaging 是否可以向该设备发送消息?或者 GCM 是否必须等到设备退出待机模式才能接收消息?
在文档中它指出:
Google 将消息排入队列并存储,以防设备离线。当设备在线时,Google 会将消息发送到设备。
但是没有任何迹象表明离线或在线是什么意思。即使屏幕关闭,设备是否仍然在线?
是的手机可以在待机模式下接收消息,除非它连接到互联网。
在他们的文件online
中表示连接到internet
和offline
表示未连接到internet
。
delay_while_idle
您可以使用该标志控制是否将消息发送到处于待机模式的设备。如果您的消息中不包含此标志,则默认值为 false,消息将立即发送。当然,该消息是否会唤醒设备取决于您的代码如何处理通知以及您的应用是否具有WAKE_LOCK
权限。
delay_while_idle
如果包含,则表示如果设备空闲,则不应立即发送消息。服务器将等待设备变为活动状态,然后仅发送每个 collapse_key 值的最后一条消息。选修的。默认值为 false,并且必须是 JSON 布尔值。