2011-03-15 165 views
0

我的蘋果通知有時收到一些無法達到設備上。 當Apple通知失敗時,請幫助我並告訴不同的情況。蘋果推送通知

任何幫助將不勝感激。

+0

你說的失敗是什麼意思?沒有收到通知?或發送失敗?你在生產環境? – malinois

+0

某些時候通知丟失未達到目標設備。沒有收到通知。是的,我正在生產 – user661274

回答

1

Apple明確指出通知不能得到保證。他們可能因各種原因而失敗。例如,如果您在發送第一個通知之前向設備發送多個通知,則先前的通知將被刪除。我似乎記得在某些地方的文檔中看到,沙箱環境偶爾會傳遞一條消息,以便測試失敗代碼。

+0

請您發佈一些相同的鏈接,我必須將其呈現給客戶端。非常感謝。 – user661274

+0

從這裏開始:http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html – mlewis54

6

推送通知可能有各種原因不起作用。該檢查列表可以幫助你找到幾個: APNS覈對表

  • 提供商應該安裝委託安全服務器CA根證書。這允許TLS/SSL驗證完整的APNs服務器證書鏈。這個根證書可以從Entrust's site下載。

  • 開發環境中的設備令牌不適用於產品推送服務。每個pushenvironment將爲同一設備發出不同的標記。如果一個無效的設備令牌被髮送到錯誤的環境,推送服務會將其視爲無效令牌並丟棄通知。

  • 如果您從您的設備中刪除您的應用程序,然後發送推送通知給您,您會希望設備令牌被拒絕,並且無效的設備令牌應顯示在反饋服務上。但是,如果這是設備上最後一個啓用了推送的應用程序,則它不會顯示在反饋服務中。這是因爲在刪除通知可以發送之前,刪除最後一個應用程序會將推送服務的持久連接關閉。

  • 推送提供程序通常位於防火牆之後。要發送通知,您需要打開TCP端口2195。要獲得反饋服務,您需要打開TCP端口2196。通過Wi-Fi連接推送服務的設備需要打開TCP端口5223。

  • 推送服務的IP地址範圍可能會更改;預期供應商將通過主機名而不是IP地址進行連接。但是,整個17.0.0.0/8地址塊已分配給Apple,因此您可以在防火牆規則中指定該範圍。

  • 我們可以啓用APNS日誌記錄,在設備上安裝配置文件APNsLogging.mobileconfig,方法是將文件放在Web服務器上並使用設備上的Safari下載它的位置,或者將它作爲電子郵件附件發送並打開在您的設備上的郵件附件。我們可以使用mdm來推送配置文件。

更多細節可以發現here