🔔

APNs認証キーの新機能について

2025/02/26に公開

はじめに

先日Appleからこの様なお知らせがあり、APNs認証キーの新たな設定オプションが追加されていたので、Apple Developerでキーの作成を試しながら変更点を整理しました。
https://developer.apple.com/jp/news/?id=wy4tb0uo

変更点

キーを使用できる環境を細かく制限できる様になった

APNs認証キーの作成時に、新たに追加された以下の項目を指定することで、キーの使用が許可される環境をより細かく制限出来る様になりました。

  • Environment
    • ドキュメントではチームスコープキーと呼ばれている。
      • EnvironmentはApple Developer上の表記。
    • Sandbox / Production / Sandbox&Productionの3種類から選択可能。
      • 以前はキーの使用を特定の環境に制限することは出来なかった。
  • Key Restriction
    • ドキュメントではトピック固有キーと呼ばれている。
      • Key RestrictionはApple Developer上の表記。
    • Team Scoped(All Topics) / Topic Specificの2種類から選択可能。
      • Topic Specificを選択すると、具体的なBundle IDを選択して特定のアプリでのみ使用できるキーを作成可能。
      • 以前はアプリ毎に使用するキーを制限することが出来なかった。

キーの作成数の上限が増えた

これまではAPNs認証キーはApple Developerアカウントにつき2つまでしか作成できないという制限がありましたが、この制限についても変更されており、作成可能なキー数の上限が増えています。具体的な上限についてはこちらに記載されています。

Apple Developerでの設定

Apple Developerでこれらの設定を追加する方法を紹介します。

APNs認証キーを作成する時に、Configureというボタンが表示される様になりました。

Configureを押すと以下の画面に遷移します。ここで先ほど紹介したEnvironmentKey Restrictionをそれぞれ指定できます。

Key RestrictionTopic Specificにすると、以下の様にTopicを追加できる様になります。キーの使用を特定のアプリに制限したい場合は、ここでBundle IDを指定できます。

作成済みのキーの扱いについて

この機能が登場する前に作成していたAPNs認証キーについては、これまでと同じ挙動になり、EnvironmentにはSandbox&Production、Key RestrictionはTeam Scoped(All Topics)として設定されます。

既存のキーに対してはEditボタンが表示されて値が変更できそうに見えますが、作成済みのキーに対してEnvironmentやKey Restrictionの設定を変更することは出来ません。 スコープを変更したい場合は新たにキーを作り直す必要がある為、注意が必要です。

さいごに

APNs認証キーの新機能について整理しました。ドキュメントやApple Developerを操作しながら確認しましたが、もし間違っている点や気になる箇所等があれば、コメントをいただけると幸いです。

参考

https://developer.apple.com/jp/news/?id=wy4tb0uo
https://developer.apple.com/documentation/usernotifications/establishing-a-token-based-connection-to-apns

Livesense Engineers

Discussion