第一次啓動推送應用程序時,用戶會被問到是否要允許推送通知。首次啓動時推送通知的註冊設備
這裏的問題是,在用戶做出決定之前調用didRegisterForRemoteNotificationsWithDeviceToken
,因此enabledRemoteNotificationTypes
在用戶單擊按鈕之前都被禁用。
我在我的服務器上註冊了設備,用於在這個didRegisterForRemoteNotificationsWithDeviceToken
方法中推送消息,所以我第一次得到一個禁用所有通知的用戶,儘管用戶幾秒鐘後可能點擊了「允許」。
下一次啓動此信息會更新,但只要用戶不重新啓動應用程序(在多任務處理時可能需要很長時間),我無法將此消息發送給此人。
有人對我有幫助嗎?有沒有更好的地方用用戶設置更新我的服務器。是否有可能出現在第一次顯示的彈出窗口?
感謝您的所有提示!
我想我明白爲什麼蘋果會首先發送這條消息,但是您能否給出一個關於如何正確執行此操作的想法? – chustar 2011-05-22 01:17:23
我將這些值添加到我的服務器,因爲我不希望將通知發送給停用所有通知的人。 – choise 2011-05-22 12:57:13
如果用戶禁用通知,反饋服務應該告訴你(如果沒有,我不會擔心)。您也可以嘗試在啓動時定期重新註冊幾次(如果沒有啓用通知),或者您的應用程序被預先登錄。你甚至可能不需要重新註冊;也許enabledRemoteNotificationTypes更改(也許你可以觀察它使用KVO,如果它沒有發佈通知)。 – 2011-06-20 00:56:48