お久しぶりです!iOSチームのかっくん(@fromkk)です。
iOS 10がリリースされましたね!
様々な機能が搭載されましたが最も目につくのはプッシュ通知に画像が表示出来たり直接返信が出来る機能じゃないでしょうか?
新しい機能を試してみたりするのも楽しいですが、プッシュ通知って気軽にテストし辛いですよね。
特に弊社の場合サーバーチームとiOSチームで分かれていて、しかもプロジェクトも多忙だったりするとちょっとした修正も頼み辛いので、サーバーに変更が必要な事って試し辛かったりするんですよね。。
でもプッシュ通知ってIPアドレスで制限されていたりするわけじゃないので自分で作ってしまえばいいじゃない!ということで Docker を利用して作ってみました。
構築したものは こちら です。
Mac OSに Docker がインストールされている事を前提にしています。
構築する環境は下記の通りです。
また、iOS端末のデバイストークン、 .pem ファイル、アプリのBundle Identifierはご自身で用意して下さい。
ソースをダウンロード
まずは、ターミナルでソースを落としてきます。
git clone git@github.com:fromkk/apns_docker.git cd ./apns_docker
イメージを作成
Dockerのイメージを作成します。
docker build -t apns:ubuntu .
暫く時間が掛かるのでその間に share/apns/apns.sh ファイルを編集して下さい。
# iOSデバイストークン token="YOUR TOKEN HERE" # .pemのフルパス pemfile="PEM FILE PATH HERE" # Bundle Identifier bundleIdentifier="BUNDLE IDENTIFIER HERE" # Pushで送信するデータをJSON形式で記述 pushData='{"aps": {"alert": "Push Test", "sound": "default", "badge": 3}}'
Dockerの起動
Dockerのイメージの作成が無事完了したら起動してみましょう。
docker run -it -v `pwd`/share/apns:/apns apns:ubuntu /bin/bash
プッシュの送信
下記コマンドで指定したデバイストークンにプッシュを送信します。
sh /apns/apns.sh
無事届きましたでしょうか?
iOS 9まではAPNSの仕組みが凄くややこしくて大変だったんですがiOS 10からHTTP2に対応してプッシュの送信が簡単になりました!
細かい仕様は こちら を参照下さい。
これで通知に関するテストが凄くしやすくなったのでどんどん新しい機能を試していきましょう!
子育て家族アプリFamm、カップル専用アプリPairyを運営する Timers inc. では、現在エンジニアを積極採用中!急成長中のサービスの技術の話を少しでも聞いてみたい方、スタートアップで働きたい方など、是非お気軽にご連絡ください!
採用HP : http://timers-inc.com/engineerings