每个人都告诉我,如果服务器是你的,你应该GCM落实推动,而不是新的数据轮询服务器是愚蠢的。 好吧,我同意并已经这样做了,但是,我想知道,怎么可以经常或你应该执行推?
我有一个简单的应用程序,人们上传的东西到服务器,并有其他人的文章的最新资讯。 这确实保存到数据库服务器上的方法,也触发末的GCM推送,因此谷歌发出的推送通知大家,然后大家再次查询新职位的服务器,包含我们促成刚刚发的帖子。
但是,如果我有什么,可以说,畅想用户,并创建一个新的职位可以说每一分钟。 这将意味着应用程序会连接到服务器每分钟将杀死电池。 所以我的问题是,你怎么经常进行推送? 难道不在这种情况下投票,每10分钟是实际上是电池更好,对不对?
我知道这个例子是那种疯狂,让您的饲料长枪的人,但它只是提出一个观点,因为我无法想象如何将缩减。 我想,谷歌将立即处理没有问题发送亿个GCM消息。
所以,问题是,有没有一个限度后推是contraproductive? 我想它的种类第一个世界问题:D,但无法想象的Facebook处理这样的东西。
谢谢!
推送通知的欢迎,当服务器具有重要的新的数据展现给用户(和重要的我的意思是用户很重要)。
我相信,如果任何应用程序给我发了通知,每一分钟我就从该应用程序或者禁用通知或卸载该应用程序。 决定什么样的更新发送给用户的推送通知,为了不对抗他们时,你应该非常小心。 如果您的服务器可以发送推送通知经常到同一个设备,你必须在你的应用程序设置选项,可以减少这些通知的频率。
推送通知通常是相关的,当应用程序没有运行(或在后台运行)。 当它在前台,轮询运行的服务器可能是一个更好的解决方案(因为你不能依靠推送通知被传递每次免责声明)。
在你的榜样,我不知道我要来约在DB的每个新的职位自动通知。 即使在我使用的应用程序(即它是在前台)我不希望它有新贴自动更新。 即使Facebook的不会自动更新视图(他们告诉你对你有新的帖子在屏幕的上方,你要拉列表视图下,以加载它们。当应用程序没有运行,我会希望只对重要岗位被警告(例如,来自特定用户的帖子)。当一个应用程序向我发送太多的推送通知,我去它的设置,以减少他们。
我不能给你推送通知的合理频率的数值的数字,但我希望我的回答可以帮助。 总之,你不必担心GCM的技术限制。 你应该担心用户体验。
文章来源: Scaling GCM Push. How often can you perform GCM Push?