PHP を使用して iPhone アプリ用のプッシュ通知 (APNS、Apple プッシュ通知サービス) をコーディングしました。デバイスからアプリが削除されていない間、すべてが正常に機能しています。Appleのフィードバック サービスを使用して、削除されたデバイスを取得します。デバイスを取得した場合、データベースでそれらをINACTIVEとしてマークし、それらのデバイスにそれ以上プッシュ通知を送信しないようにします。
問題は、Apple が遅いことです。デバイスからアプリを削除すると、要求が Apple に送信され、私はフィードバック サービスを使用してデバイスを収集します。しかし、Apple は非アクティブ化されたデバイスをすぐに転送しないため、非アクティブなデバイスにプッシュ通知を送信できないため、次のエラーが発生します。
PHP Warning: fwrite(): SSL: Broken pipe in apns.php on line 155
私のフィードバック サービス スクリプトは 5 分ごとに実行されますが、Apple からの更新は 10 ~ 15 分ごとに行われます。10 ~ 15 分以内にプッシュ通知を送信すると、上記のエラーが表示されます。これは、データベースではデバイスがまだACTIVEとしてマークされており、Apple サーバーではデバイスがINACTIVEとしてマークされているためです。
フィードバック サービスまたはプッシュ サービスに接続するのに問題はありませんが、常にフィードバック サービスからデバイスを取得するとは限りません。
よろしく、フォックス