簡體   English   中英

無法從Apple APN生產服務器獲得響應

[英]Unable to get a response from Apple APN production server

我們有一個使用APNs服務的應用程序,該應用程序的后端/服務器位於.net中。 我已經創建了dev和prod Cert。 應用程序,並將生產證書放置在生產服務器上。

我們沒有收到推送通知的問題,並且在帶有開發證書的開發服務器上一切正常。 問題出在生產服務器上,當我們點擊觸發推送通知的Web服務時,它不發送響應,並且在請求超時后給出504響應。

是否有人面臨同樣的問題,或者任何人都可以幫助擺脫這個問題?

PS:我已經評論了實時服務器上的推送通知代碼,它可以正常工作,因此我確定該問題與推送通知服務有關。

生產環境的二進制接口可通過gateway.push.apple.com端口2195獲得; 開發環境的二進制接口可通過gateway.sandbox.push.apple.com端口2195獲得。

請參閱: https//developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html

答:確保在推送通知時使用正確的鏈接

對於Development ,您可以使用:gateway.sandbox.push.apple.com

對於Production ,請使用:gateway.push.apple.com

B.當您直接在連接的設備上構建並運行XCode項目時,生成的IPA正在使用開發配置證書。 因此,生產推送通知將不會發送到設備。 很久以前,我開始學習推送通知時就犯了這個錯誤。

為了在設備上測試生產推送通知,您必須:-

  1. 從您的設備中刪除該應用。

  2. 確保“發布”下的供應配置文件正在使用臨時分發配置文件。 在此處輸入圖片說明

  3. 使用Archive生成臨時配置IPA 將IPA導出到桌面或您喜歡的任何位置。

  4. 從您的XCode打開管理器,轉到“設備”。 將新生成的IPA拖放到當前連接的設備的應用程序中。

  5. 您設備上可用的應用現在正在使用分發證書。 發送到服務器的設備令牌與用於開發證書的設備令牌相比將有所不同。 因此,您必須使用正確的設備令牌。

如果您正確執行所有操作,則應該收到生產推送通知。

經過大量的應用程序調試並再次創建了證書,但是直到我閱讀了有關推送通知的Apple文檔上的該文檔后,它才幫助我解決問題:

根據蘋果的說法,這些端口應在Web服務器上打開以發送通知。 以下是他們在APN的支持文檔中所寫的內容。

推送服務使用的IP地址范圍

推送提供程序(Web服務器)通常位於防火牆之后。 要發送通知,您需要允許通過端口2195的入站和出站TCP數據包。要到達反饋服務,您需要允許通過端口2196的入站和出站TCP數據包。

https://developer.apple.com/library/ios/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG31

雖然我的托管服務提供商未在托管我的網站的服務器上打開這些端口。

謝謝大家為我解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM