2011-10-19 27 views
0

我一直在使用https://github.com/Redth/APNS-Sharp向我的iPhone App安裝的所有設備發送推送通知消息。它的工作方式非常不一致!iPhone:在批量設備上推送通知可靠性

這個問題是如何開始的?

我們有一個擁有約500名用戶的iPhone應用程序。我們注意到大部分用戶都沒有收到通知消息!進一步實時調試,我注意到以下一系列事件。

..... 
10:37:33 AM - Notification Queued! 
10:37:33 AM - Notification Queued! 
10:37:33 AM - Notification Queued! 
10:37:33 AM - Notification Queued! 
10:37:36 - Connecting... 
10:37:36 - Connected... 
10:37:36 - Notification Success 
10:37:36 - Notification Success 
10:37:36 - Notification Success 
... 
10:37:36 - Error: Unable to write data to the transport connection: An existing connection was forcibly closed by the remote host. 
10:37:39 - Connecting... 
10:37:40 - Connected... 
10:37:40 - Notification Success 
10:37:40 - Notification Success 
.... 

我做了什麼?

我已經使用Ad-Hoc生產證書創建了測試iPhone應用程序並將其安裝在5個設備上。我試着同時向所有這些設備發送多條消息。我注意到在接收消息時完全不一致的行爲。有時全部5臺設備會立即收到消息。 5個設備中,3個設備幾乎立即收到消息,而其他兩個設備中的任何一個設備有時會立即收到消息,其他消息不會收到除最後一條消息之外的所有消息。有時它根本沒有收到消息!

我也曾嘗試一次向個人設備發送消息,並注意到一旦它開始接收消息,則所有消息都將立即發送,有時只是在長時間(約20分鐘)後纔會收到最後一條消息。

我已經驗證了什麼?

  • 它使用相同的連接發送所有消息,因此它不會打開多個連接。
  • 使用正確的證書和推送通知服務器。
  • Ran反饋服務幾次,但它沒有返回任何設備ID。

有沒有其他人注意到這種行爲?將消息發送到多個設備時可能會出現什麼問題?我還有什麼可以使推送通知可靠嗎?

謝謝。

回答

0

我已經將這個bug記錄到Apple並得到了他們的迴應。看起來他們已經修復了iOS 5.0中與推送通知相關的客戶端事物。此外,由於推送通知不能保證,這種不一致的行爲已經發生。如果有人感興趣,那麼Bug ID#10333505

0

嘗試UrbanAirship。由於其雲方法(部署了多個應用程序),我發現它非常一致。很多主要玩家也在使用它(點擊等)。它總是更好地委託這些事情的頭痛專家:)。 +它的免費。

+0

這不完全免費!這只是正確的設備ID發送消息到Apple服務器的問題,它正在發生,但蘋果服務器並沒有發送所有消息! – applefreak