プッシュ証明書の作成方法

プッシュ通知またはFCM (Firebase Cloud Messaging) を使用するためには、証明書やAPI KeyをTapjoyのダッシュボードにアップロードする必要があります。iOSとAndroidではそれぞれ別の設定が必要になります。このページでは必要な証明書の作成方法とアップロード方法を説明します。

1. iOS

こちらの Apple の開発用ドキュメントの手順に従って アプリ の プッシュ通知 を有効にし、通知用証明書を生成してください。

「TLS証明書を使用してAPNsとやり取りする」の章全体を行ってください。これは、サブ項目の「プッシュ通知を有効にする」「APNsクライアントTLS証明書を生成する」「クライアントTLS IDをMacからエクスポートする」 等も含みます。

「クライアントTLS IDをMacからエクスポートする」 節で、Keychain から証明書をエクスポートする手順があります。この時、証明書を .p12 フォーマットで書き出します (書き出したファイルを certificate.p12 とします)。 このファイルに対し、次の二つのコマンドを実行します。二つ目のコマンドでエクスポート用パスワードを求められますが、空白のままにしておきます。

<pre class="prettyprint">openssl pkcs12 -in certificate.p12 -nodes -out temp.pem
<pre class="prettyprint">openssl pkcs12 -export -in temp.pem -out cert_unprotected.p12

ここで作成したパスワードなしの cert_unprotected.p12 ファイルがダッシュボードに登録可能な証明書になります。

ユニバーサルプッシュ通知を使用しない場合は、商用ビルド、開発ビルド用それぞれのプッシュ証明書を作成する必要があります。 [Apple Developer Site > Certificates, Identifiers & Profiles > iOS Apps > Identifiers > App IDs > Application]で[Production SSL Certificate]を作成します。

aps_production.cerを管理画面に登録するためには.pemファイルに変換する必要があります。

  1. 生成されたaps_production.cerをダブルクリックし、Macのキーチェーンアクセスに追加します。
  2. キーチェーンアクセス画面の左下の分類から証明書をクリックし、画面右のリストより追加した証明書を右クリックし、書き出しフォーマットを"個人情報交換 (.p12)" にしてファイルを書き出します。ここでは、書き出したファイル名を aps_production.p12 とします。

コマンドラインを使用して .p12ファイルから証明書のみ aps_production_cert.pemファイル(ファイル名は任意)に書き出します。:

openssl pkcs12 -clcerts -nokeys -out aps_production_cert.pem -in aps_production_cert.p12
  1. コマンドラインで .p12ファイルから秘密鍵のみaps_production_key.pem(ファイル名は任意)に書き出します。
openssl pkcs12 -nocerts -nodes -out aps_production_key.pem -in aps_production_key.p12
  1. 上記で作成した証明書と秘密鍵データを一つのaps_aroduction.pem(ファイル名は任意)ファイルに書き込みます:
openssl rsa -in aps_production_key.pem -out aps_production_key_noenc.pem

cat aps_production_cert.pem aps_production_key_noenc.pem > apn_production.pem

作成したaps_production.pemがアップロード用証明書になります。開発用のプッシュ証明書も同様に作成します。

作成したアップロード用証明書を、Tapjoy ダッシュボードの 設定 > アプリ設定 > プッシュ証明書 からアップロードします。

image_title

2. Android

FCM を使用するためには、Firebase Console から Server Key を取得する必要があります。プロジェクトでFCMを設定していない場合は、FCM ドキュメント に従い設定して下さい。

FCM サービスを有効にするには以下の手順を行います:

  1. 画面左のサイドバーから、設定アイコンを選択し、Project settings を選びます。
  2. General タブで Project number (例: 136515230000) が取得できます。 この値は Tapjoy.setGcmSender("ID") で設定する値です。
  3. Cloud Messaging タブで、Server Key と Sender ID が取得できます。 Server Key を Tapjoy ダッシュボードの "Android API Key" に、Sender ID を "Android Sender ID" に設定します (Tapjoyダッシュボードの 設定 > アプリ設定 > プッシュ証明書)

image_title

image_title