アップルはメッセージ配信の成功を保証しません。 you can see related answer here
ネットワークに接続しているときにAppleプッシュ通知が表示されない場合は、ネットワーク管理者に問い合わせて、関連するTCPポートにアクセスできることを確認してください。
Appleプッシュ通知サービス(APN)を使用するには、MacおよびiOSクライアントにAppleのサーバーと直接接続する必要があります。
iOSデバイスは、セルラーデータを使用してAPNに接続しようとします。デバイスがセルラー接続を介してAppleのサーバーに接続できない場合、デバイスはWi-Fiを使用して接続しようとします。
あなたは携帯電話データのために、ファイアウォールやプライベートアクセスポイント名(APN)の後ろのWi-Fiを使用する場合は、これらのポート上のAPNサーバーに直接、unproxied接続が必要になります:
TCP port 5223: For communicating with Apple Push Notification services (APNs)
TCP port 2195: For sending notifications to APNs
TCP port 2196: For the APNs feedback service
TCP port 443: For a fallback on Wi-Fi only, when devices can't reach APNs on port 5223
APNサーバーは負荷分散を使用するため、デバイスは常に通知のために同じパブリックIPアドレスに接続するとは限りません。 Appleに割り当てられている17.0.0.0/8アドレスブロック全体で、これらのポートへのアクセスを許可するのが最善です。
APNはAppleプッシュ通知サービスの略です。 APNは、セルラーデータネットワークとインターネットとの間のゲートウェイであるアクセスポイント名の略です。
check this link for same explanation
ともHow do I troubleshoot issues with Push Notifications on iOS?
可能な複製(http://stackoverflow.com/questions/13897575/apns-apple-push-notification-service-reliability) – karan