スタッフブログ

STAFF BLOG

アプリ開発日誌

2017.09.29

Apple Push Notification Authentication Keyを発行しよう

サーバー開発担当の木下です。

手持ちのiPhoneとiPadをiOS 11にアップデートしました。コントロールセンターでWiFiを切ると、ネットワークに接続しないだけでWiFi自体は有効になっているとう仕様を知ってびっくりしています。ちょっと前まで、外出時はWiFiを切るというのがスマホのバッテリー消費を軽減するための定番だと思っていたのですが、色々変わってきているということでしょうか・・・

さて今回は、時々お問い合わせをいただく「iOSのプッシュ証明書の発行方法」です。

APNsの証明書が変わりました

以前に書いたエントリ(Golangで「プロバイダー認証トークン」を生成して、APNsにプッシュを送ろう)で触れたとおり、プッシュ通知に使用する証明書の種類が変わりました。以前のものは「Apple Push Notification Service SSL」、新しいものは「Apple Push Notification Authentication Key」です。
新しい証明書の特徴として、有効期限がなく、1つ作ればそのデベロッパーアカウントでビルドしたすべてのアプリにプッシュが送れるというメリットがあります。これからアプリを作るという場合は、新しい方を使わない手はないでしょう。
というわけで、発行方法を詳細に見ていきたいと思います。

iOSでプッシュを送るために必要なもの

下記の2つです。
・「Apple Push Notification Authentication Key」の証明書
・AppleデベロッパーアカウントのTeamID
本当はこれの他に「KeyID」(証明書のキーID)も必要なのですが、現状は証明書のファイル名に含まれているようなので、ファイルがあればわかるはずです。
ただ、例えばエンジニアに証明書ファイルを送るときにどうしてもファイル名を変える必要がある場合などは、元のファイル名が何だったのかも伝えてあげると良いでしょう。

証明書を取得する

証明書の発行方法です。この画面はちょくちょくレイアウトが変わるので、もしかしたら手順も多少変わってしまうことがあるかもしれません。

1.Apple Developerにログインする
ss1

2.左ペインにある「Certificates, IDs & Profiles」をクリックする
ss2

3.左ペインにある「Keys」内の「All」をクリックする
ss3

4.右上にあるプラスボタンをクリックする
ss4

5.Key DescriptionのNameを入力する。「push」など適当な名前で良いと思います。
6.Key ServicesのAPNsにチェックをいれる。
7.下部「Continue」ボタンをクリックする。
ss5

8.下部「Confirm」ボタンをクリックする。
ss6

9.「Download」ボタンをクリックする。ここでダウンロードされる.p8拡張子のファイルが証明書です。
10.下部「Done」ボタンをクリックする。
ss7

これで発行完了です。

TeamIDを取得する

1.Apple Developerにログインする (すでにログインしている場合はアカウントのトップページに戻る)

2.左ペインにある「Membership」をクリックする
ss2-2

3.「Membership Details」の下にある「Team ID」(10桁の英数字)がTeam IDです。
ss8

これでiOSへのプッシュ通知に必要な情報が揃いました!

この辺の仕様は結構ころころ変わります

iOSプッシュの認証に使うのは証明書、Androidプッシュの認証はサーバーキーですが、どちらも細かな仕様とか取得方法とかがコロコロ変わるイメージがあります・・・
改善につながっていることは間違いないですが、もう少しとっつきやすい形になるといいなあと思います。

BACK

お問合せ

イーディーエーに興味をお持ちいただいて
ありがとうございます!
スマホアプリに関するご相談、
お見積りや弊社へのご質問など、
お気軽にお問い合わせください。
担当者より折り返しご連絡させていただきます。

    お名前必須
    会社名
    メールアドレス必須
    電話番号必須
    お問合わせ種別必須
    お問合わせ内容必須

    アンケートにご協力ください。
    弊社サイトへはどのようにしてアクセスされましたか?

    個人情報のお取扱いに関する同意事項

    1.事業者の氏名又は名称

    株式会社イーディーエー

    2.個人情報保護管理者の氏名又は職名、所属及び連絡先

    個人情報保護管理者 木下 晴晶
    Mail:[email protected]

    3.取得した個人情報の利用目的的

    当フォームで取得した個人情報は、お問い合わせに関する回答のために利用し、目的外利用はいたしません。

    4.弊社が取得した個人情報の第三者への委託、提供について

    弊社は、ご本人に関する情報をご本人の同意なしに第三者に委託または提供することはありません。

    5.個人情報保護のための安全管理

    弊社は、ご本人の個人情報を保護するための規程類を定め、従業者全員に周知・徹底と啓発・教育を図るとともに、その遵守状況の監査を定期的に実施いたします。
    また、ご本人の個人情報を保護するために必要な安全管理措置の維持・向上に努めてまいります。

    6.個人情報の開示・訂正・利用停止等の手続

    ご本人が、弊社が保有するご自身の個人情報の、利用目的の通知、開示、内容の訂正、追加又は削除、利用の停止、消去及び第三者への提供の停止を求める場合には、下記に連絡を頂くことで、対応致します。

    株式会社イーディーエー 個人情報お問合せ窓口
    〒106-0032 東京都港区六本木7丁目14番23 ラウンドクロス六本木4F
    TEL:03-5422-7524 FAX:03-5422-7534
    Mail:[email protected]

    7.ご提供いただく情報の任意性

    個人情報のご提供は任意ですが、同意を頂けない場合には、第3項にあります利用目的が達成できない事をご了承いただくこととなります。

    8.弊社Webサイトの運営について

    弊社サイトでは、ご本人が弊社Webサイトを再度訪問されたときなどに、より便利に閲覧して頂けるよう「クッキー(Cookie)」という技術を使用することがあります。これは、ご本人のコンピュータが弊社Webサイトのどのページに訪れたかを記録しますが、ご本人が弊社Webサイトにおいてご自身の個人情報を入力されない限りご本人ご自身を特定、識別することはできません。
    クッキーの使用を希望されない場合は、ご本人のブラウザの設定を変更することにより、クッキーの使用を拒否することができます。その場合、一部または全部のサービスがご利用できなくなることがあります。