LAMPインフルエンサーマーケティングマネジメントマーケティング人事戦略ビジネススキル採用情報メディア掲載情報ニュースリリースイベント情報Web制作これは罠。PHPでiPhone端末にPUSH通知を送る際の落とし穴2012.06.29これは罠。殿堂入りシェア段田です。最近、PHPからiphone端末にPUSH通知を送る機能の開発に携わりました。PHPでプログラムを実装する場合、フルスクラッチとライブラリを使用するケースがあるのですが、各ケースでのポイントを忘れないよう書きたいと思います。PUSH通知の概要、証明証の作成については省略します。概要などは下記の記事がわかりやすく、参考になりました。□iPhoneプッシュ通知まとめフルスクラッチのケースフルスクラッチでやる場合、こちらのはてなの記事が参考になりました。□http://d.hatena.ne.jp/iRSS/20111026/1319632548しかし、試しに作成すると送信はできるのですが、下記の様な制約があることを知ります。1つのメッセージで256バイトを超えてはいけない1回の通信で全パケットが5000〜7000バイトを超えるとAPNSから切断される1に関してはApple公式ドキュメントに記載があるのですが、2に関しては記述がありません。(色んな人に聞いたりして判明しました。超えるとAPNSから切断されます。あの世まで行ってジョブズに焼き土下座させたい気分なのですが、ここはグッと堪えます。対応策としては5000〜7000Byte毎にsleepした後に再接続をする(今回は5000Byte)APNSからエラーが返却された場合はsleepした後に再接続をするという処理をいれてやると解決できます。sleepは1秒ぐらいで良いかと思います。下記では入れていませんが、APNSが落ちている可能性等もありますので、エラーが指定回数を超えたら、処理を中断するのも良いかと思います。"接続エラーになったので1秒後再接続を試みます。'通信容量超えたので再接続します。ジョブズマジ許さねえ。ジョブズとりあえずファンタ買ってこい。0;}}fclose($fp);ライブラリのケースライブラリはApnsPHPがお勧めです。□apns-php送信に使用するsend()メソッド内でエラー時の再接続処理を実装されているので、フルスクラッチで書いた対応策を別途実装する必要はありません。PUSH送信する場合、一気にアプリへのアクセスが予想されます。外部サーバーへのデータ連携やWEBVIEWによるサイト表示をしている場合、負荷が高まる可能性がありますので、負荷対策を考えたほうが良いでしょう。ANALYZE」を導入後、CVR改善に成功した品川美容外科のWeb担当者に話を聞いてきた。POSTLIGへの自由なメッセージお待ちしています頂いたご意見への回答は行っておりません。