8

Apples iOS Enhanced Notification Format を使用してプッシュ通知を一括送信し、この投稿で説明されている PHP ソリューションを使用しています: https://stackoverflow.com/a/10059000/300129

この時点での経験では、プッシュ通知を送信すると、メッセージを受信するデバイスと受信しないデバイスがあります。結果は矛盾しています。デバイス X が通知を受信する場合と受信しない場合があります。すべてをログに記録していますが、エラー応答がありません。

何が起こっているのかについての考えは非常に役に立ちます。

4

4 に答える 4

6

APNS サーバーがプッシュ通知を受け入れたとしても、プッシュ通知が実際に配信されるという保証はありません。

サーバーに関する限り、プッシュ通知は起動して忘れます。APNSに送信した後、通知のステータスを確認する方法はありません。配達時間も、数秒から 30 分までさまざまです。
また、ユーザーのiPhoneは常にプッシュ通知を受信できない場合があります。必要なポートがブロックされているため、APNSへの接続を許可しないWiFi ネットワーク上にある可能性があります。または、電話がオフになっている可能性があります。

APNSは、そのデバイスがオンラインに戻ったときに最後に受信した通知を配信しようとしますが、限られた時間しか試行しません。タイムアウトになると、プッシュ通知は永久に失われます!

于 2014-02-13T08:13:31.747 に答える
0

私もいくつかのアプリケーションでこの問題を経験しました。一部のデバイスがプッシュ通知を受信しない理由として、次のことが考えられます。

  • 本番 APNS 証明書を使用したサンドボックス APNS サーバーの使用。⇒ご確認ください
  • デバイスにインストールされた開発用と本番用の両方の暫定プロファイル。->両方の暫定を削除してから、Appleがサーバーからデバイストークンも削除するように、少なくとも24時間待つ必要があります。
于 2014-02-15T15:01:51.060 に答える
0

私の場合、開発中に、一部の APN が 1 つのデバイスで受信されませんでした (私はPushMeBabyでテストしていました)。

プロジェクトに関連する以前のすべてのプロビジョニング プロファイルをデバイスから削除したところ、その瞬間からすべてがうまくいきました。これを行うには、[設定] > [プロファイル] に移動します。

私が取り組んでいるプロジェクトが途中でバンドルIDとプロビジョニングプロファイルを変更したため、プロファイルと何らかの競合が発生した可能性があります。

于 2014-03-26T15:44:06.087 に答える