【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing

【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アプリではユーザーに対して注意を引くために通知機能を実装することが可能です。実装できるのは音を鳴らしたり、以下のようなプッシュ通知(アラート)を送信したり、アイコンにバッジをつけるなどさまざまなことが可能になっています。

【SwiftUI】通知機能の実装方法!ローカル通知が届いている要素

そしてiOSアプリのプッシュ通知機能にはさらにローカル通知とリモート通知の2種類に分かれます。

ローカル通知とはオフラインで実行される通知機能のことを指します。

おすすめ記事:【SwiftUI】通知機能の実装方法!ローカル通知とリモート通知の違い

一方リモート通知とはオンラインで実行される通知機能のことを指します。ローカル通知とは異なり、プッシュ通知リクエストをオンライン(サーバー)上から送信し、デバイス内で処理されて通知が届くような仕組みになっています。

仕組みをもう少し詳しくみて見ると以下の通りになります。

【SwiftUI】通知機能の実装方法!リモート通知の仕組み

参考文献:リモート通知サーバーのセットアップ

APNs(Apple Push Notification service)と呼ばれるAppleが運営するサービスを介してプッシュ通知は配信されます。そのためにはサーバーに対してアプリの認証が必要になります。

アプリの認証をする方法

サーバーに対してアプリの認証をするためには2種類の方法が用意されています。

  1. APNs用証明書(.p12ファイル)を用意してサーバーにアップロードする
  2. APNs用Key(.p8ファイル)を用意してサーバーにアップロードする

通知を送信するためのサーバー(Webサービス)にもよるかもしれませんがFirebaseの場合は以下のように「APNs用証明書(.p12ファイル)」または「APNs用Key(.p8ファイル)」をアップロードすることで認証できるようになっています。

【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing

そして2023年3月時点では「APNs用Key(.p8ファイル)」を用いての認証が最新の方法になり、公式などよりも推奨されています。

メリットデメリット

APNs用証明書(.p12ファイル)

  1. 前から使用されていた方法
  2. 証明書の有効期限(1年間)あり
  3. アプリごとに作成

APNs用Key(.p8ファイル)

  1. 最新の方法
  2. Keyの有効期限なし
  3. アプリ共有

APNs用Key(.p8ファイル)の作成方法

Apple Developer Member Center(Apple Developer Programに加入必須)にアクセスします。

Apple Developer Programへの登録方法

Certificates, IDs & Profiles」をクリックし「Keys」をクリックします。

【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing

任意のKey名(例:PushNotificationAuthenticationKey)を入力し、「Apple Push Notifications service(APNs)」にチェックをいれ「Continue」 をクリックします

【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing

確認して問題がなければ「Register」をクリックし、「Download」が可能になるのでこのタイミングでダウンロードし、任意の場所に保管しておいてください。再ダウンロードはできないので注意してください。

ダウンロードしたファイルが拡張子が「.p8」形式に保存されたKeyになります。

サーバーにアップロード

サーバーに認証Keyをアップロードする際には「キーID」と「チームID」が求められることがあります。

【Swift】リモート通知実装用(APNs)のKeyの作成方法!Certificate private key for signing

キーID」はApple Developer Member Centerの「Certificates, IDs & Profiles」をクリックし「Keys」から先ほど作成したKeyを選択すると確認することができます。

チームID」もApple Developer Member Centerの右上部に表示されているアカウント名横の英数字の羅列が「チームID」になります。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index