在iPhone上使用Web服务推送vs轮询

时间:2011-04-27 14:45:11

标签: iphone objective-c ios asihttprequest

我正在使用ASIHttpRequest库每分钟询问一次Web服务以获取更新。该应用程序接收一个json字符串并解析它。它运作正常。

但是我想提高效率..当有更新时,让服务器发送到应用信息的最佳方式是什么?而不是经常轮询网络服务?

3 个答案:

答案 0 :(得分:2)

Apple的推送通知可能就是您要找的。但是,你需要在网站上实现一些东西来支持他们,我相信。我自己没有使用它们(我的应用程序开发没有那么深入),但是这里有一个开发者文档的链接: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html

答案 1 :(得分:2)

Apple PUSH通知不是一个好的解决方案

1)您只能将有限数量的数据打包到它 2)可能很难确定用户是否已启动或退出应用程序。如果您在用户退出应用程序后继续发送PUSH,他们最终会收到大量垃圾邮件。如果您尝试向服务器发送内容以指示用户已关闭应用程序以使其停止发送PUSH,则可能在应用程序崩溃时无效。

我建议你使用套接字。

或者只是使用计划循环每分钟发出一次请求。

.....

但是我想知道你是否可以在没有警报身体和声音的情况下发送PUSH,只需发送0徽章。如果app打开,它将能够反馈给服务器以继续发送更新。如果没有反馈,请停止发送推送。

答案 2 :(得分:0)

Apple的push notification是单向的。这是building a push notification provider server的指南。