【发布时间】:2014-08-13 14:18:52
【问题描述】:
我计划为可能需要每台设备每秒接收两条消息的应用实施 Android 推送通知服务。我想知道 GCM Push 消息传递是否是要走的路,还是我应该坚持使用 SyncAdapter 或其他一些技术?单个设备每天最多会收到几千条通知。消息大小会非常小,限制在 4kb 以内就可以了。
【问题讨论】:
标签: android push-notification google-cloud-messaging
我计划为可能需要每台设备每秒接收两条消息的应用实施 Android 推送通知服务。我想知道 GCM Push 消息传递是否是要走的路,还是我应该坚持使用 SyncAdapter 或其他一些技术?单个设备每天最多会收到几千条通知。消息大小会非常小,限制在 4kb 以内就可以了。
【问题讨论】:
标签: android push-notification google-cloud-messaging
如果所有消息都到达设备并且没有丢失是至关重要的,那么单独使用 GCM 不是正确的选择,因为如果 GCM 服务器会暂时失去与设备的连接,那么发送的消息数量是有限的。将存储在 GCM 服务器中以供该设备稍后交付。
因此,如果您必须频繁更新应用,您可能应该在服务器和应用之间保持开放连接,并定期从服务器加载数据。
【讨论】:
虽然 GCM 服务器会限制在设备断开连接的情况下将存储以供以后传送的消息数量,但您始终可以创建一个 collapse_key。
根据 GCM 文档,如果已经存储了具有相同折叠密钥(和注册 ID)并等待传递的消息,则旧消息将被丢弃,新消息将取而代之(即旧的消息将被新消息折叠)。
本质上,如果您只需要最近的推送通知而不是之前发送的所有通知,GCM 可以用于高频发送推送通知。
您可以在GCM Advanced Topics 中了解更多信息。
【讨论】: