2011-04-27 47 views
8

我正在使用ASIHttpRequest库来每分钟询问一次Web服务以获取更新。该应用程序接收一个json字符串并对其进行解析。它工作正常。推送与iPhone上的Web服务轮询

但我想使这更有效率..什么是最好的方式让服务器发送到应用程序的信息,只要有更新..而不是不断地轮询的Web服务?

回答

2

苹果推送通知是不是一个很好的解决方案

1)您只能打包数量有限的数据 2)可能很难弄清楚用户是否启动了应用程序或退出了该应用程序。如果您在用户退出应用程序后继续发送PUSH消息,则最终会收到大量垃圾邮件。如果您尝试将某些内容发送到服务器以表明用户已关闭应用程序,以便它停止发送PUSH,则在应用程序崩溃时它可能不起作用。

我建议你使用套接字。

或者只是使用预定的循环每分钟发出请求。

.....

但我不知道,如果你可以发送PUSH没有警告的身体和声音,只是发送0徽章。如果它打开的应用程序,它将能够反馈到服务器继续发送更新。如果没有反馈,停止发送推送。

+0

如果我正确读取,请使用推送通知指定属性。你可以做一个徽章,并在应用程序中有一个函数(application:didFinishLoadingWithOptions:我相信)使用ASIHttpRequest来解析数据。这也应该可以提高手机的电池效率,因为它不会经常通过互联网轮询数据来获取数据。 – 2011-04-27 23:27:42

+0

是否有可能使用PUSH通知来简单地向客户端发送一个“触发器”,通知应用程序发生了更新并且现在应该从Web服务请求新数据?这样轮询被消除了? – AJB 2012-12-26 10:03:28