【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing
この記事からわかること
- Swiftでリモートプッシュ通知を実装するために必要な認証Keyとは?
- Apple Push Notifications service(APNs)用のCertificate private key for signingの発行方法
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
iOSアプリのリモートプッシュ通知
iOSアプリではユーザーに対して注意を引くために通知機能を実装することが可能です。実装できるのは音を鳴らしたり、以下のようなプッシュ通知(アラート)を送信したり、アイコンにバッジをつけるなどさまざまなことが可能になっています。
そしてiOSアプリのプッシュ通知機能にはさらにローカル通知とリモート通知の2種類に分かれます。
ローカル通知とはオフラインで実行される通知機能のことを指します。
おすすめ記事:【SwiftUI】通知機能の実装方法!ローカル通知とリモート通知の違い
一方リモート通知とはオンラインで実行される通知機能のことを指します。ローカル通知とは異なり、プッシュ通知リクエストをオンライン(サーバー)上から送信し、デバイス内で処理されて通知が届くような仕組みになっています。
仕組みをもう少し詳しくみて見ると以下の通りになります。
参考文献:リモート通知サーバーのセットアップ
APNs(Apple Push Notification service)と呼ばれるAppleが運営するサービスを介してプッシュ通知は配信されます。そのためにはサーバーに対してアプリの認証が必要になります。
アプリの認証をする方法
サーバーに対してアプリの認証をするためには2種類の方法が用意されています。
- APNs用証明書(.p12ファイル)を用意してサーバーにアップロードする
- APNs用Key(.p8ファイル)を用意してサーバーにアップロードする
通知を送信するためのサーバー(Webサービス)にもよるかもしれませんがFirebaseの場合は以下のように「APNs用証明書(.p12ファイル)」または「APNs用Key(.p8ファイル)」をアップロードすることで認証できるようになっています。
そして2023年3月時点では「APNs用Key(.p8ファイル)」を用いての認証が最新の方法になり、公式などよりも推奨されています。
メリットデメリット
APNs用証明書(.p12ファイル)
- 前から使用されていた方法
- 証明書の有効期限(1年間)あり
- アプリごとに作成
APNs用Key(.p8ファイル)
- 最新の方法
- Keyの有効期限なし
- アプリ共有
APNs用Key(.p8ファイル)の作成方法
Apple Developer Member Center(Apple Developer Programに加入必須)にアクセスします。
「Certificates, IDs & Profiles」をクリックし「Keys」をクリックします。
任意のKey名(例:PushNotificationAuthenticationKey)を入力し、「Apple Push Notifications service(APNs)」にチェックをいれ「Continue」 をクリックします
確認して問題がなければ「Register」をクリックし、「Download」が可能になるのでこのタイミングでダウンロードし、任意の場所に保管しておいてください。再ダウンロードはできないので注意してください。
ダウンロードしたファイルが拡張子が「.p8」形式に保存されたKeyになります。
サーバーにアップロード
サーバーに認証Keyをアップロードする際には「キーID」と「チームID」が求められることがあります。
「キーID」はApple Developer Member Centerの「Certificates, IDs & Profiles」をクリックし「Keys」から先ほど作成したKeyを選択すると確認することができます。
「チームID」もApple Developer Member Centerの右上部に表示されているアカウント名横の英数字の羅列が「チームID」になります。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。