はじめに
APNs Provider APIとAPNs Auth Keyを使うと、
旧来のAPNs Push通知とくらべて様々なメリットがあります。
アプリ毎に証明書を用意しなくて良い
HTTPヘッダーに付与するバンドルIDを変えるだけで、
対象のアプリを切り替え可能です。
証明書を更新しなくて良い
いままではAmazon SNSやLogPushなど複数の配信方法を使っていると、
証明書の更新が地味に手間でした。
APNs Auth Keyは有効期限が無いので、毎年の更新もれの心配もしなくて安心です。
HTTP2 + JWT(JSON Web Token)なので実装がシンプル
HTTPヘッダーにJWTトークンを入れて、HTTP2でPOSTするだけなので簡単です。
複数の端末に配信する場合も、HTTP2なので単一のコネクションで複数回POSTするだけです。
デメリット
Amazon SNSがまだ対応してません。(07/1/7現在)
準備
バンドルID, デバイストークンの他に、
Apple Developer Programのサイトから下記のデータを用意します。
- Term ID
- APNs Auth Key
Term ID
Membershipページに記載されています。
APNs Auth Key
Certificates, Identifiers & Profiles
↓
左メニューの「Certificates」 - 「APNs Auth Key」
↓
右上の「+(Add)」ボタン
↓
「Apple Push Notification Authentication Key (Sandbox & Production)」
を選択して「Continue」
↓
発行したAPNs Auth Keyの「Key ID」とダウンロードできる「p8ファイル(プライベートキー)」を使います。
ソースコード
nodejsを使った、複数のiPhoneへ送信する実装です。
https://github.com/m-hosoi/node-apns-provider-api