我正在使用ASIHttpRequest库来每分钟询问一次Web服务以获取更新。该应用程序接收一个json字符串并对其进行解析。它工作正常。推送与iPhone上的Web服务轮询
但我想使这更有效率..什么是最好的方式让服务器发送到应用程序的信息,只要有更新..而不是不断地轮询的Web服务?
我正在使用ASIHttpRequest库来每分钟询问一次Web服务以获取更新。该应用程序接收一个json字符串并对其进行解析。它工作正常。推送与iPhone上的Web服务轮询
但我想使这更有效率..什么是最好的方式让服务器发送到应用程序的信息,只要有更新..而不是不断地轮询的Web服务?
苹果推送通知是不是一个很好的解决方案
1)您只能打包数量有限的数据 2)可能很难弄清楚用户是否启动了应用程序或退出了该应用程序。如果您在用户退出应用程序后继续发送PUSH消息,则最终会收到大量垃圾邮件。如果您尝试将某些内容发送到服务器以表明用户已关闭应用程序,以便它停止发送PUSH,则在应用程序崩溃时它可能不起作用。
我建议你使用套接字。
或者只是使用预定的循环每分钟发出请求。
.....
但我不知道,如果你可以发送PUSH没有警告的身体和声音,只是发送0徽章。如果它打开的应用程序,它将能够反馈到服务器继续发送更新。如果没有反馈,停止发送推送。
Apple的推送通知可能是您正在查找的内容。不过,你需要在网站上实现一些东西来支持他们,我相信。我没有用他们自己(我还没有那么远得到了到我的应用程序开发),但这里是开发者文档的链接吧: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html
苹果的push notification是一种方式。这是关于building a push notification provider server的指南。
如果我正确读取,请使用推送通知指定属性。你可以做一个徽章,并在应用程序中有一个函数(application:didFinishLoadingWithOptions:我相信)使用ASIHttpRequest来解析数据。这也应该可以提高手机的电池效率,因为它不会经常通过互联网轮询数据来获取数据。 – 2011-04-27 23:27:42
是否有可能使用PUSH通知来简单地向客户端发送一个“触发器”,通知应用程序发生了更新并且现在应该从Web服务请求新数据?这样轮询被消除了? – AJB 2012-12-26 10:03:28