2012-04-16 65 views
0

我正在使用C#Windows服務向APN發送通知。它工作得很好。但是,今天我收到了來自Apple的錯誤8(無效標記)。批次中的一個被拒絕時丟失推送通知

我添加了代碼來處理這種情況(從數據庫中刪除令牌,以便我不再發送任何通知)。然而,正如蘋果所說,我正在通過同一個通道發送一批通知......並且這些通知是在同一個連接上發送的(我不知道它在失敗之後才返回響應),但是我看到其他通知未送達。

這是正常的嗎?你如何處理這個問題?我正在考慮存儲所有通知,並在發送完所有通知後等待5秒鐘...如果Apple沒有發送任何通知,這一切都很好......如果發生什麼情況,請檢查錯誤,刪除失敗的通知併發送剩餘的直到沒有收到錯誤。

這是否有意義?

謝謝!

回答

0

這正是我們最終在JavaPNS中做的事情。推送通知列表,收到該列表中的特定通知的錯誤響應數據包後,庫重新使用相同列表發送通知,但從失敗通知後的通知開始。循環直到收到錯誤響應數據包。

這確實意味着如果您的列表中有多個無效消息,您將會一遍又一遍地傳輸大量通知......但從經驗來看,似乎這是與APNS成功工作的唯一方法。

+0

因此......您最終將重複通知發送給接收通知的用戶?或者一旦失敗,批次中沒有人收到任何東西? – g3rv4 2012-04-21 18:12:15

相關問題