メインコンテンツへスキップ
iOSアプリにプッシュ通知を送信するには、Apple Push Notification Services(APNs)への認証された接続が必要です。**トークンベース(.p8キー)または証明書ベース(.p12ファイル)**メソッドを使用して認証できますが、1つだけが必要です。
.p12証明書は1年後に期限切れになります。この証明書の更新を管理したくない場合は、代わりに期限切れにならない.p8キーを作成できます。
このガイドでは、**証明書ベース(.p12ファイル)**のセットアップについて説明します。毎年更新する必要があるため、これは推奨されません。これには、Apple Developerアカウントで新しい証明書を生成し、OneSignalダッシュボードに再アップロードすることが含まれます。

要件

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

証明書署名要求(CSR)の作成

まず、macOSで.certSigningRequestファイルを作成する必要があります。
  1. アプリケーション > ユーティリティ > キーチェーンアクセスを開きます。
  2. メニューバーから、**キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求…**をクリックします。
証明書アシスタントオプションが表示されたキーチェーンアクセスメニュー
  1. 必須フィールドに入力します:
    • ユーザーのメールアドレスyour-email@example.com
    • 通称:あなたの名前または証明書の名前
    • CAのメールアドレス:これを空白のままにします
    • 要求の処理ディスクに保存を選択
メール、通称、ディスクに保存フィールドが表示された証明書アシスタントウィンドウ
  1. 続けるをクリックし、.certSigningRequestファイルを保存する場所を選択して、保存をクリックします。

アプリのプッシュ機能を有効化

Xcodeで自動的に署名を管理を使用している場合は、このセクションをスキップしてください。
  1. Apple DeveloperポータルのIdentifiersセクションに移動し、リストからアプリのアプリIDを見つけて選択します。
App IDのリストが表示されたApple DeveloperのIdentifiersセクション
  1. チェックボックスをオンにしてプッシュ通知機能を有効にします。
「構成」をクリックしないでください — トグルを有効にするだけです。
プッシュ通知チェックボックスが有効になったApp ID機能リスト

プッシュ証明書を作成

次の手順に従って、Apple Push Notification service(APNs)SSL証明書を生成します:
  1. Apple証明書ページにアクセスします。
  2. **プラス(+)**ボタンをクリックして新しい証明書を作成します。
  3. Servicesの下で、以下を選択します:
    • Apple Push Notification service SSL (Sandbox & Production)
    • 次にContinueをクリックします
    Apple Push Notification service SSL SandboxおよびProductionオプションが表示されたApple証明書ページ
  4. リストからApp IDを選択し、Continueをクリックします。
プッシュ証明書用のApp ID選択ドロップダウン
  1. 以前に生成した.certSigningRequestファイルをアップロードします。
証明書署名要求ファイルのアップロードダイアログ
  1. Continueをクリックし、次にDownloadをクリックして、生成された.cerファイルをコンピューターに保存します。
生成された.cer証明書ファイルのダウンロードボタン
この.cerファイルは、次のセクションで.p12証明書を作成するために使用します。

秘密鍵を作成して.p12証明書をエクスポート

  1. ダウンロードした.cerファイルをダブルクリックして、キーチェーンアクセスにインポートします。
  2. キーチェーンアクセスで、次の場所に移動します:
    • キーチェーン > ログイン
    • カテゴリ > マイ証明書
  3. Apple Push Servicesという名前の証明書を見つけます。
  4. 証明書を右クリックして、書き出すを選択します。
Apple Push Services証明書の書き出しオプションが表示されたキーチェーンアクセスの右クリックメニュー
  1. ファイルを保存する場所を選択し、ファイル形式として**.p12**を選択します。
  2. プロンプトが表示されたら、.p12ファイルにパスワードを設定します。このパスワードは、OneSignalにアップロードする際に必要です。
.p12ファイル形式の選択とパスワード入力プロンプトが表示された保存ダイアログ

.p12をOneSignalにアップロード

  1. OneSignalダッシュボードで、アプリ > 設定 > プッシュ & アプリ内 > Apple iOSに移動します。
  2. .p12ファイルをアップロードします(パスワードを設定した場合は入力します)。保存をクリックします。
OneSignalで**.p12証明書を使用したAPNs認証**のセットアップが正常に完了しました。これで、iOSアプリでプッシュ通知を送受信できるようになりました!🎉

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

無効な証明書形式エラー

原因: アップロードされたファイルが.p12形式ではありません。 修正方法: キーチェーンアクセスから証明書を**.p12として**エクスポートしてください(.cer.pemではありません)。

OneSignalにアップロード時の「パスワードが正しくありません」エラー

原因: パスワードが誤って入力されたか、設定されていません。 修正方法:
  • 再度エクスポートして、新しいパスワードを設定してください。
  • 貼り付ける際に余分なスペースが追加されていないことを確認してください。
  • Provisionatorを使用している場合、パスワードはUIに表示されます。

エクスポートされたファイルに秘密鍵がない

原因: 証明書がインポートされましたが、秘密鍵とペアになっていません。 修正方法:
  • 同じマシンのキーチェーンアクセスからCSRを生成してください。
  • .cerファイルをダウンロードした後、ダブルクリックしてインストールし、マイ証明書の下にキーが表示されるか確認してください。

アップロード後にプッシュ通知が機能しない

原因: App IDが正しくないか、プロビジョニングプロファイルに機能がありません。 修正方法:
  • .p12がアプリで使用されているApp IDと一致することを確認してください。
  • Apple Developer Portalで、App IDにプッシュ通知が有効になっていることを確認してください。
  • プロビジョニングプロファイルにプッシュが含まれていることを確認してください。

期限切れの証明書

原因: .p12証明書が無効になりました。 修正方法:
  • Apple Developer > 証明書に移動して、有効期限を確認してください。
  • 古い証明書を取り消して、新しい証明書を作成してください。

次のステップ


FAQ

.p12証明書はいつ期限切れになりますか?また、どのように更新しますか?

.p12証明書は作成から1年後に期限切れになります。更新するには、新しいCSRを生成し、Apple Developerで新しいプッシュ証明書を作成し、.p12としてエクスポートして、OneSignalダッシュボードに再アップロードします。中断を避けるためにカレンダーリマインダーを設定してください。または、期限切れにならない.p8キーに切り替えることもできます。

.p8と.p12のどちらを使用すべきですか?

OneSignalはほとんどのアプリに**.p8キー**を推奨します。.p8キーは期限切れにならず、Apple Developerアカウント下のすべてのアプリで使用でき、管理が簡単です。.p12証明書はアプリ固有であり、毎年更新が必要です。セットアップ手順については.p8キーガイドを参照してください。

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

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