前臺推送是否可以進入,但是當應用程序在後臺時沒有收到推送通知?APNS在前臺但不是後臺推送工作
我有一些用戶報告這個問題,並想知道可能是什麼原因。也許這只是混亂?如果其他人有同樣的問題,請指教我,如果是的話,原因是什麼。謝謝!
前臺推送是否可以進入,但是當應用程序在後臺時沒有收到推送通知?APNS在前臺但不是後臺推送工作
我有一些用戶報告這個問題,並想知道可能是什麼原因。也許這只是混亂?如果其他人有同樣的問題,請指教我,如果是的話,原因是什麼。謝謝!
也許你可以排除推送的有效載荷字典中的警報。這可能會阻止郵件顯示在您推送的設備上。但是,您可以使用自定義鍵在字典中包含一條消息。如果您尚未註冊後臺提取,那麼當應用處於後臺時,它不應更新您的應用的內容。在您的App委託的didReceiveRemoteNotification
方法中,您可以創建UIAlertView
以通過參考自定義鍵向用戶顯示。我想這取決於你在用戶收到推送時要阻止什麼操作。
由於iOS的7.0,有一個新的消息,你可以UIApplicationDelegate
當推送通知到達,而應用程序是在後臺迴應:除了application: didReceiveRemoteNotification:
,現在有一個方法application: didReceiveRemoteNotification: fetchCompletionHandler:
。
只有在應用程序處於前臺或用戶將鎖定屏幕上的通知側向滑動時,纔會調用舊方法。帶有附加fetchCompletionHandler:
參數的新方法始終被調用。仔細查看reference,其中介紹了有關如何回覆此消息的一些重要細節。
當應用程序處於後臺時,您確實無法控制發生的情況。當推入時,操作系統首先處理推送,然後將數據發送到您的應用程序進行處理。 – Chris 2015-01-09 19:40:47
是的,這是否意味着理論上不可能有前景推送更新而不是後臺推送通知? – Vlad 2015-01-09 19:48:10
我很確定是這樣。幾個月前,我試圖在一個項目中做同樣的事情,但經過一天的研究後得出結論,這是不可能的。 – Chris 2015-01-09 19:55:20