メインコンテンツへスキップ
iOSアプリにプッシュ通知を送信するには、Apple Push Notification Services(APNs)への認証された接続が必要です。**トークンベース(.p8キー)または証明書ベース(.p12ファイル)**メソッドを使用して認証できますが、1つだけが必要です。 このガイドでは、推奨されるアプローチであるトークンベース.p8キーのセットアップについて説明します。

要件

開始する前に、次のものがあることを確認してください:

APNs認証のセットアップ

Apple Developerアカウントで.p8キーを生成

Appleの完全な手順については、サービスにアクセスするための秘密鍵の作成を参照してください。
  1. Apple Developerアカウントにログインします。
  2. **証明書、識別子 & プロファイル > キー**に移動します。
  3. **青いプラス(+)**アイコンをクリックします。
    • 表示されない場合は、管理者にアクセスを依頼してください。
新しいキーを作成するための青いプラスアイコンが表示されているApple Developerキーページ
  1. **Apple Push Notifications service(APNs)**を選択します。
  2. キーを設定する際、Sandbox & Productionが選択されていることを確認してください:
SandboxとProductionが選択されているApple Developerキー設定
  1. キーの名前を入力し、Continueをクリックしてから、Registerをクリックします。
ContinueとRegisterボタンが表示されているApple Developerキー登録ページ
  1. .p8キーをダウンロードして、安全に保管してください。再度ダウンロードすることはできません。
新しい.p8を作成する必要があり、すでに2つある場合は、既存のキーの1つを最初に取り消す必要があります — そして、それは使用できなくなります。

.p8キーをOneSignalにアップロード

  1. OneSignalダッシュボードで設定 > プッシュ & アプリ内 > Apple iOS(APNs)設定に移動します。
Apple iOS APNs設定を表示するOneSignal設定ページ
  1. 認証方法として**.p8認証キー(推奨)**を選択します。
推奨されるp8認証キーオプションを表示するOneSignal APNs認証方法の選択
次の情報を提供します:
  • .p8ファイル – Apple Developerアカウントからダウンロードした秘密鍵ファイル。
  • Key ID – 10文字の英数字文字列(例:ABC123DEFG)。Apple Developerアカウントのキーセクションにあるキー名の隣に表示されています。ダウンロードした.p8ファイルと一致していることを確認してください。
  • Team ID – 10文字の英数字文字列(例:9A1B2C3D4E)。Apple Developerアカウントの右上隅にあるチーム名の隣に表示されています。これはKey IDとは異なります
  • App Bundle ID – 逆ドメイン文字列(例:com.example.app)。次の場所で確認できます:
    • Apple Developerアカウントの識別子セクション、または
    • Xcode > メインアプリターゲット > 署名 & 機能
Key IDTeam IDはどちらもApple Developerアカウントにある10文字の文字列ですが、異なる場所にあります。入れ違えていないか確認してください。これが最も多い設定ミスです。
Key IDとTeam IDの場所を示すApple Developerアカウント
Bundle Identifierフィールドを表示するXcode署名と機能タブ
完了したら保存 & 続行をクリックします。
OneSignalで**.p8キーを使用したAPNs認証**のセットアップが正常に完了しました。これで、iOSアプリでプッシュ通知を送受信できるようになりました!🎉

.p8のトラブルシューティング

1

.p8ファイル形式を確認

  • .p8ファイルをテキストエディタで開きます。
  • 次のようになっているはずです:
    -----BEGIN PRIVATE KEY-----
    64 character line
    64 character line
    64 character line
    8 character line
    -----END PRIVATE KEY-----
    
2

誤って.p12をアップロードしていないことを確認

  • .p8キーは、Apple Developerアカウントのキーセクションから取得します。
  • .p12証明書は証明書セクションから取得します。これらは.p8認証と互換性がありません。
3

正しいキーIDを持っていることを確認

  • Apple Developer > キーセクションに移動します。
  • Key IDはキー名の隣に表示される10文字の文字列です(例:ABC123DEFG)。
  • OneSignalに入力したKey IDが、ダウンロードした.p8キーにリストされているものと一致することを確認します。
  • Team IDと混同しないでください — どちらも10文字の文字列ですが、異なる場所にあります。
4

チームIDを確認

  • Team IDは、Apple Developerアカウントの右上隅に表示されます。
  • 正確にコピーされ、キーが生成されたアカウントと一致することを確認してください。
  • Key IDと混同しないでください — Team IDは特定のキーではなく、あなたの開発者アカウントを識別します。
5

キーにAPNS機能があることを確認

  • Apple Developerでキーを表示すると、**Apple Push Notifications service(APNs)**機能がリストされているはずです。
  • そうでない場合は、キーを取り消して新しいものを作成してください。
6

数分待つ

  • 新しく作成されたキーは、Appleが外部認証を許可する前に10〜15分かかる場合があります。
  • 作成直後に検証エラーが発生した場合は、待ってから再試行してください。

サポートが必要ですか?

  • 現在の.p8キーを取り消して、ゼロから新しいものを作成してください。
  • キーが作成されたのと同じアカウントから有効なBundle IDを使用していることを再確認してください。
  • Key ID、Team ID、Bundle ID、およびApple Developer Key設定の編集されたスクリーンショットを添えて、support@onesignal.comにお問い合わせください。

次のステップ


FAQ

.p8と.p12の違いは何ですか?

.p8キーは有効期限がなく、Apple Developerアカウント下のすべてのアプリで機能するトークンベースの認証キーです。.p12証明書はアプリ固有で、1年後に有効期限が切れるため、毎年更新が必要です。OneSignalはシンプルさとメンテナンスのしやすさから.p8を推奨しています。代替方法については.p12証明書ガイドを参照してください。

.p8キーは有効期限がありますか?

いいえ。.p12証明書とは異なり、.p8キーは有効期限がありません。一度作成した.p8キーは、Apple Developerアカウントで取り消すまで有効です。

1つの.p8キーを複数のアプリに使用できますか?

はい。1つの.p8キーは、同じApple Developerアカウント下のすべてのアプリで機能します。同じ.p8ファイルを複数のOneSignalアプリにアップロードできます。各アプリには固有のBundle IDが必要です。

プロビジョニングプロファイルは必要ですか?作成方法は?

はい、Appleは開発、テスト(Ad Hoc)、App Storeへの配布用に異なるタイプのプロファイルを必要とします。 Xcodeで、自動的に署名を管理を選択すると、自動的に作成できます。
自動署名管理が有効になっているXcode署名と機能タブ
それ以外の場合は、詳細についてAppleのプロビジョニングプロファイルに関するドキュメントを参照してください。