2012-05-18 32 views
0

我對iPhone推送通知有疑問。我需要在用戶使用應用程序時使用它們,但在應用程序關閉時對我來說不需要警報聲卡。如果用戶不接受它們,也使用推送通知

我的問題是:如果用戶在應用程序啓動時不接受推送通知,我是否也可以使用這些通知?

我將使用推送系統來避免任何計時器在應用程序運行時定期從我們的服務器獲取信息;他們將是沒有警報,沒有徽章和沒有聲音的自定義通知。

謝謝

回答

1

不,你不能規避用戶的選擇(用戶說不,你應該尊重這一點)。但是,您可以確定用戶是否決定不使用

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (types == UIRemoteNotificationTypeNone) { 
    // user does not want to get push notifications 
} 
+0

我明白了。非常感謝! –

0

不,你不能。如果用戶拒絕通知,APNS服務器將不會將它們發送到設備。 順便說一句,試圖從應用程序獲取應用程序/用戶信息而不詢問用戶權限可能會導致App Store拒絕應用程序。

+0

謝謝,但是我不想讓應用/用戶信息。我只需要與我們的服務器交換自定義消息:應用程序是一個聊天,所以我只想推送給用戶,他有一條新消息,以便應用程序可以向服務器請求新消息。 –

+0

那麼,如果你要使用APNS系統,你必須遵守用戶協議。這意味着如果您希望用戶在應用程序關閉時收到通知,則需要APNS系統。如果你希望你的應用程序在啓動後才工作,你可以使用線程和後臺活動。您還可以讓偵聽器從服務器的消息中讀取數據。或者讓應用程序執行預定檢查(每xx秒)。在這種情況下,您應該真的想到您使用的計時器,因爲它會對電池使用量產生嚴重影響。 – CitronEvanescent

+0

我知道一個計時器可能會導致電池使用上的很多問題,因此我會使用APNS。我不明白的是我如何讓聽衆從服務器的消息中讀取數據。我應該在iPhone上使用「某種」服務器套接字嗎?或者是什麼? 謝謝 –

相關問題