2011-07-26 74 views
1

我想通知我的應用程序有新的數據可用,但我不希望我的應用程序不斷地輪詢我的服務器=檢查它新用戶數據浪費用戶數據並殺死用戶電池。推送通知到我的應用程序不是用戶

相反,將消息發送到我的應用程序會讓它知道有新數據可以使用。

回答

1

只是不要註冊警報,那麼當應用程序未打開時,用戶不會收到警報,但如果應用程序已打開,您仍然可以默默迴應通知或如何選擇。

或者:(這會節省你和用戶帶寬)

當應用程序關閉發送郵件到你的服務器告訴它的應用程序被關閉,不發出新的通知。然後當應用程序開始向服務器發送一條消息,告訴它發送通知。

編輯:除非你想讓應用程序自動打開或者在後臺下載新內容,在這種情況下這是不可能的。

0

這不是默認行爲嗎?每當有新數據時,您的應用程序將通過推送通知服務器的回調通知。

+0

一旦應用程序打開,我的應用程序是否會獲取該應用程序,或者即使我的應用程序未運行,它是否會獲取該應用程序?如果它在應用程序未運行時得到它可以允許我更改NSUserDefault或其他東西? – Slee

+0

通知發送給用戶,然後用戶可以決定是否將您的應用程序放到前臺。 – onnoweb

+0

是的,那不是我正在尋找的東西 – Slee

0

您可以打開您的服務器的套接字並使其偵聽數據 - 此選項會耗盡用戶電池,可能不會像頻繁的HTTP請求那麼快。 您也可以嘗試執行這些HTTP請求,但將其作爲長時間輪詢。例如,應用程序將請求一些URL,並且服務器將在特定的時間量或響應中持有該連接,這是用戶可以獲得的數據。當連接關閉時,您的應用程序應重新打開它。