2016-06-08 72 views
-1

我一直在尋找清理測試應用程序的推送通知,並且我注意到Facebook只爲其Messenger應用程序使用一個推送通知。例如,如果我收到來自朋友的2條消息,則該應用程序不會發送兩個推送通知,但會用新消息更新單推送通知。有沒有什麼好的教程如何做到這一點(我似乎無法找到任何)或者有沒有人有任何示例代碼,我可以看看?更改推送通知的數據

此外,對於像Facebook這樣的應用程序,推送通知是否攜帶任何數據給應用程序(我聽說這是不好的做法),還是推送通知只是啓動應用程序,應用程序在裝入時刷新任何錯過的消息?

回答

0

限制推送通知的顯示在服務器端更好地處理。您的iOS應用程序中沒有任何機制或代碼會影響通知中心顯示通知的速率(二進制支持/不支持)。

在最天真的實現中,您可以在後端執行一些操作,以跟蹤上次發送推送通知的時間,並在稍後的某個時間間隔之前拒絕發送更多通知。我相信Facebook的這個實現更細緻,但我認爲這超出了這個問題的範圍。

您應該隨意發送自定義數據以及推送通知。它是支持的,而不是一件壞事。您只能發送小塊信息(即不要期望發送數據來顯示整個圖像),而是可以在推送通知中發送所引用實體的對象ID之類的內容。例如,當Facebook向您發送「XXX張貼照片」時,他們可能會發送用戶ID和照片ID以及通知,以便應用程序知道當您點擊通知時立即顯示哪個用戶/照片。