読者です 読者をやめる 読者になる 読者になる

世界が変わったのだから、自分も変わらなくてはならない。

エンジニア兼デザイナーのナカモリのブログです。

【PHP】Laravel(5.2.*)+ApnsPHPでiPhoneへPush通知する仕組みを作る

PHP Laravel アプリ制作

f:id:takahironakamori:20160331234033p:plain

iOSの端末(iPhoneやiPad)にPush通知を送るために、Laravel+ApnsPHPでPush通知を送る仕組みを作りました。

Push通知を送るサーバー側(PHP)について、作っていてつまずいたところの記録です。

1.ApnsPHPを手にいれる

ApnsPHPはGithubから入手しました。

github.com

Composerでインストールしようと思いましたが、なんだかうまく行かなかったので、Zipファイルをダウンロードして、Laravelがインストールされているディレクトリにアップロードしました。LaravelのvendorディレクトリはComposerで管理されているみたいなので、別のディレクトリにアップロードしました。

 

2.ApnsPHPが動かない場合は

ApnsPHPにはPush通信を送るサンプルが用意されていますが、うまく送信されない場合がありましたが、ApnsPHP/Abstract.phpを下記のように編集するとうまく動きました。

ApnsPHP/Abstract.phpの変更箇所

 

3.LaravelのコントローラーからApnsPHPを使いたい

LaravelのコントローラーからApnsPHPを使う場合は、メソッド内に下記のような感じでコードを追加します。

Laravelのコントローラー内で使う時のサンプル

 

4.ApnsPHPのLog情報を非表示にしたい

開発用だからかもしれませんが、サンプルなどを参考にApnsPHPでPush通知を行うとログ情報が画面に表示されます。ログ情報を表示させないようにするには、少し無理やりですが、下記のようにログを表示しないクラスを作成し、上記3.のコードの11行目のようにsetLoggerでクラスを変えます。

ログ情報を表示しないクラス

 

最後に

ApnsPHPはiOS向けのPush通知の仕組みが簡単に作ることができる便利なプログラムです。