2011-12-06 75 views
0

它不可能攔截與iOS的SMS,也不可能輪詢服務器或永久保持從設備到服務器的未完成HTTP請求(除非應用程序具有有效的後臺模式)。除Apple推送通知外,沒有別的選項可以將服務器通知發送給客戶端嗎?

因此,如果需要將通知從服務器推送到客戶端,那麼對於我們的APNS沒有其他選擇,是否正確?

如果需要將通知從服務器推送到設備並且不讓用戶收到警報(在應用程序處於後臺的情況下),那麼看起來這是不可能的所有?

這是正確的。是否有任何創造性的解決方法是合法的?

回答

1

你是對的 - 除了APNS接收通知,一旦App在後臺,沒有別的選擇。

沒有辦法截取ShortMessages(在後臺或沒有)。在後臺進行永久輪詢服務器時也沒有辦法(這很好,因爲這會消耗電池,因爲它對於Android應用程序來說是耗盡的)。

1

如果您可以將您的應用程序分類爲VOIP並使用該後臺處理模式,則可能有可能。

如果需要將通知從服務器推送到設備並且沒有用戶收到警報(在應用程序在後臺的情況下),那麼看起來這不是可能呢?

如果用戶不需要接收即時警報,您是不是應該在應用程序啓動或到達前臺時輪詢服務器?

+0

是的,你可以 - 但是如果服務器有立即推送到設備的信息,並且應用程序不在前臺(並且應用程序不是VOIP),那麼顯然沒有解決方案。 – Gruntcakes

+0

你想解決什麼問題?如果您的應用程序位於後臺並且用戶不需要收到通知,那麼用戶在下次打開應用程序時將看到新的數據。如果您的應用在涉及前臺時進行輪詢,那麼用戶在下次打開應用時會看到新的數據。用戶角度有什麼不同? – Jim

+0

要求是通知用戶有新數據以及何時啓動它已下載的應用程序。數據的有效載荷大於APN中可以容納的數據量,因此如果發送推送通知,那麼當他們啓動應用程序時,仍需要下載數據 - 因此用戶將經歷延遲,這取決於連接條件。要求是他們應該沒有任何延遲,因此我試圖確定是否有任何方式下載數據*之前*用戶被告知其存在。 – Gruntcakes