LoginSignup
31
28

More than 5 years have passed since last update.

気軽にプッシュ通知のテストがしたい【iOS10以降対応】

Last updated at Posted at 2016-09-15

Timers Techblog より転載です

掲題の通り気軽にプッシュ通知のテストがしたかったのでDockerでプッシュサーバーを構築しました。
構築したものは こちら です。

Mac OSに Docker がインストールされている事を前提にしています。

構築する環境は下記の通りです。

  • OS: Ubuntu 16.04
  • ミドルウェア: nghttp2curl

また、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="/apns/key.pem"
# Bundle Identifier
bundleIdentifier="BUNDLE IDENTIFIER HERE"
# Pushで送信するデータをJSON形式で記述
pushData='{"aps": {"alert": "Push Test", "sound": "default", "badge": 3}}'

※追記(2016/09/22)

  • ホスト側で .pem ファイルを share/apns/key.pem に配置
  • apns.shpemfile/apns/key.pem とすることで .pem ファイルを読み込む事が出来ます

@yimajo さん有難うございます。

Dockerの起動

Dockerのイメージの作成が無事完了したら起動してみましょう。

docker run -it -v `pwd`/share/apns:/apns apns:ubuntu /bin/bash

プッシュの送信

下記コマンドで指定したデバイストークンにプッシュを送信します。

sh /apns/apns.sh

無事届きましたでしょうか?
iOS 9まではAPNSの仕組みが凄くややこしくて大変だったんですがiOS 10からHTTP2に対応してプッシュの送信が簡単になりました!
細かい仕様は こちら を参照下さい。
これで通知に関するテストが凄くしやすくなったのでどんどん新しい機能を試していきましょう!

スター下さい!

31
28
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
28