APIキーの取得と保存
Amazon Device Messaging(ADM)とFirebase Cloud Messaging(FCM)では、いずれもアプリを一意に識別できる必要があります。FCMでは、google-services.jsonという構成ファイルを生成してアプリに追加します。ADMでは、APIキーを生成してプロジェクトに追加する必要があります。また、OAuthセキュリティプロファイル認証情報も生成する必要があります。
これらの認証情報は、以下の目的で使用されます。
- APIキー: ADMはAPIキーを使用してアプリの識別情報を検証します。
- OAuth認証情報(「クライアントID」と「クライアントシークレット」): ADMはOAuth認証情報を使用して開発者サーバーの識別情報を検証します。開発者サーバーは認証情報を提示して、ADMを介したメッセージの送信に必要なアクセストークンを取得します。
以下の手順では、認証情報の取得方法について詳しく説明します。
APIキーと認証情報の取得
-
開発者コンソールでアカウントを作成し、アプリを追加します(まだ行っていない場合)。
-
[アプリ&サービス] > [マイアプリ] の順にクリックし、ADMを使用するアプリを選択します。
-
サイドバーの [アプリサービス] をクリックします。
-
[デバイスメッセージング] セクションで、[既存のセキュリティプロファイルを選択、または新規作成する] をクリックします(アプリにセキュリティプロファイルを割り当て済みの場合は、[割り当て済みセキュリティプロファイルと詳細] セクションを展開し、手順7に進みます)。
-
アプリにセキュリティプロファイルを割り当てるには、[セキュリティプロファイル] ドロップダウンメニューから既存のセキュリティプロファイルを選択するか、[セキュリティプロファイルを作成] をクリックして新しいセキュリティプロファイルを作成します。セキュリティプロファイルには、ADM経由でメッセージを送信する際に使用するOAuth認証情報が含まれています。
注: セキュリティプロファイルは、複数のアプリで共有して使用できます。プロファイルを共有した場合、複数のアプリ間でデータの一部を共有できます。たとえば、「My Cat - Free」というアプリと「My Cat - HD」というアプリがあったとします。単一のセキュリティプロファイルを両方に適用した場合、どちらのアプリからでもこのプロファイルがアクセスしたデータを利用できます。プロファイルを共有する場合は、両方で使用できる名前(「My Catアプリ用プロファイル」など)を選択します。 -
既存のセキュリティプロファイルを選択した場合は、[セキュリティプロファイルを有効化] をクリックして変更を保存します。
次のような成功メッセージが表示されます:セキュリティプロファイル「セキュリティプロファイル名」を使用して、アプリでデバイスメッセージングが正常に有効になりました。
-
[セキュリティプロファイルを表示] リンクをクリックします。[セキュリティプロファイル管理] の [Android/Kindleの設定] をクリックします。
-
[APIキーを追加] ボタンをクリックして、APIキーを作成します。アプリには、APIキーが1つ以上必要です。
-
デバッグ版アプリ署名: ADMを使用するデバッグ版アプリをテストするには、必ずそのアプリ用のAPIキーを作成する必要があります。
-
リリース版アプリ署名: リリース版アプリでAppstore SDKを使用している場合は、そのアプリ用に追加のAPIキーを作成する必要があります。また、以前のIAP SDK v2.0を使用していて、独自の証明書を使用してアプリに署名する場合も、そのアプリ用のAPIキーを作成する必要があります。これに対して、IAP SDK v2.0を使用しているアプリ、またはIAP SDKを使用しないアプリで、アプリへの署名をAmazonに任せる場合は、新たなAPIキーを作成する必要はありません。概要については、以下の表を参照してください。
リリース版アプリのAPIキーを作成する必要があるかどうかの判定 アプリでのAppstore SDKの使用 独自の証明書によるアプリへの署名 APIキーの要否 必要 必要 必要 不要
APIキーを作成するには、APIキーの名前、アプリのパッケージ名(例:
com.mycompany.bestapplication
)、アプリ署名のMD5値とSHA-256値を指定する必要があります。-
デバッグ版アプリ署名(プレリリース版アプリに使用): 次のいずれかを行って、デバッグ版アプリの署名時に使用した証明書のMD5署名またはSHA-256署名を取得することもできます。
-
アプリの署名時に使用したキーストアファイルだけでなく、そのファイルにある証明書のエイリアスも特定します。たとえば、キーストアファイルの名前が
my_key_store
であり、署名に使用したキーストア内にある証明書の名前がmy_certificate_alias
である場合、次のコマンドを実行します。{JAVA_HOME}/bin/keytool -list -v -alias my_certificate_alias -keystore my_keystore_file
出力には、次のようにMD5またはSHA-256の値が含まれています。これがアプリ署名になります。
MD5: 2E:0B:46:F8:D0:4A:06:AC:18:7A:2E:B0:42:95:58:FE` SHA-256: 34:A3:65:30:3E:B2:9B:30:DD:10:E8:87:79:16:DF:4C:61:77:BC:1F:80:BD:3F:12:39:A3:31:E6:68:19:1C:6F
-
アプリが署名付きAPKの形式であり、Unix系システムで開発を行っている場合は、次のようなコマンドを実行できます。その際は、
{your-app.apk}
をAPKファイルの名前に置き換えてください。MD5:
unzip -p {your-app.apk} META-INF/CERT.RSA | keytool -printcert | grep MD5
SHA-256:
unzip -p {your-app.apk} META-INF/CERT.RSA | keytool -printcert | grep SHA-256
-
Android Studioを使用している場合は、右側の [Gradle] サイドペインをクリックして展開します。[app] > [Tasks] > [android] の順に展開し、[signingReport] をダブルクリックします。
返されたMD5およびSHA-256の出力を使用します。
-
-
リリース版アプリ署名(実稼働版アプリに使用):
- 独自の証明書を使用してリリース版アプリに署名する場合は、その証明書のMD5署名およびSHA-256署名を指定して、追加のAPIキーを作成します。
- 独自の証明書を使用しない場合は、次の手順を実行して、MD5署名およびSHA-256署名を取得します。
- 開発者コンソールに移動します。
- [アプリ&サービス] > [マイアプリ] の順にクリックします。
- アプリを選択します。
- [アプリファイルをアップロード] 画面に移動します。
- [Amazonアプリストアの証明書ハッシュ] をクリックします。
- APIキーの作成が不要な場合もあります。詳細については、リリース版アプリのAPIキーを作成する必要があるかどうかの判定の表を参照してください。
-
-
[追加] をクリックします。
-
クライアント認証情報を取得します(ADMサーバーの呼び出しに必要です)。[セキュリティプロファイル管理] の [ウェブ設定] タブをクリックします。[クライアントID] と [クライアントシークレット] は、このページで確認できます。
APIキーの保存
プレリリース(デバッグ)版アプリの場合は、APIキーを作成してプロジェクトに保存する必要があります。APIキーをアプリに追加する方法は以下のとおりです。
- プロジェクトのassetsフォルダに
api_key.txt
という名前のファイルを作成します。必ずこのフォルダに同ファイルを配置するようにしてください。 api_key.txt
ファイルにAPIキーを挿入します。これ以外のデータは含めないでください。
リリース(実稼働)版アプリでは、Appstore SDKを使用している場合、そのアプリ用に追加のAPIキーを作成する必要があります。また、以前のIAP SDK v2.0を使用していて、独自の証明書を使用してアプリに署名する場合も、そのアプリ用のAPIキーを作成する必要があります。これに対して、IAP SDK v2.0を使用しているアプリ、またはIAP SDKを使用しないアプリで、アプリへの署名をAmazonに任せる場合は、新たなAPIキーを作成する必要はありません。概要については、リリース版アプリのAPIキーを作成する必要があるかどうかの判定の表を参照してください。
次のステップ
次の 登録とメッセージの処理に進みます。
Last updated: 2023年10月2日