跨设备同步数据时避免GCM限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨设备同步数据时避免GCM限制相关的知识,希望对你有一定的参考价值。

我正在使用GCM在所有用户设备上同步数据。当存在由其中一个设备生成的新数据时,服务器(RESTful API)向其余设备发送推送,并且每个设备都下载新数据并更新UI。问题是当有很多更改时(例如每分钟40个=每个设备每分钟推送40个),Google会限制我的通知,并且设备会在一两天内停止接收新消息。我读了很多关于这个主题的内容,发现我应该把时间设置为0并且在空闲时延迟到假,但仍会发生限制。

所以我的问题是,是否可以禁用GCM限制,你怎么能建议我用RESTful后端实现整个同步过程?

答案

据我所知,你不能禁用限制。它是由GCM执行的功能,其用途之一是保持设备电池寿命。在您的情况下,每分钟推送40条消息听起来效率不高 - 您可能需要考虑是否应将这些消息复合为更少的消息。

或者,使用折叠键折叠所有这些正在传输的消息,如@ianhanniballake所建议的那样。

以上是关于跨设备同步数据时避免GCM限制的主要内容,如果未能解决你的问题,请参考以下文章

跨设备同步核心数据

iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)

Android 应用程序 - 跨多个设备同步 SQLite 数据库

如何使用 GCM 通知同步

跨设备同步文档目录中的文件

使用rsync daemon跨主机安全同步