我正在使用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