Google Awareness API を使用するには、Google API キーをアプリに追加する必要があります。必要な API キーのタイプは Android API キーです。
すべての Android アプリは、秘密鍵を保持しているデジタル証明書で署名されます。デジタル証明書について詳しくは、アプリに署名する方法に関する Android のガイドをご覧ください。
Android API キーは特定の証明書とパッケージのペアにリンクされています。アプリのユーザー数に関係なく、証明書ごとに必要な鍵は 1 つだけです。
アプリのキーを取得するには、いくつかの手順が必要です。このガイドで詳しく説明していますが、次のとおりです。
- アプリの証明書に関する情報を取得します。
- Google Developers Console でプロジェクトを登録し、User Context API をプロジェクトのサービスとして追加します。
- キーを要求する。
- アプリにキーを追加します。そのためには、アプリ マニフェストに要素を追加します。
アプリの証明書情報を確認する
API キーは、アプリのデジタル証明書の短縮形(SHA-1 フィンガープリント)に基づいています。証明書の SHA-1 フィンガープリントを表示するには、まず正しい証明書を使用していることを確認します。次の 2 つの証明書から選択できます。
- デバッグ用証明書: この証明書は、デバッグビルドを行う際に Android SDK ツールによって自動的に生成されます。この証明書は、テスト中のアプリでのみ使用してください。デバッグ用証明書で署名されたアプリを公開しようとしないでください。デバッグ用証明書について詳しくは、Android デベロッパー向けドキュメントのデバッグビルドに署名するをご覧ください。
- リリース用証明書: この証明書は、リリースビルドを行う際に Android SDK ツールによって生成されます。この証明書は
keytoolプログラムで生成することもできます。この証明書は、アプリをリリースする準備が整ったときに使用します。
keytool の詳細については、Oracle のドキュメントをご覧ください。
デバッグ用証明書の証明書フィンガープリントを表示する
-v パラメータを指定して keytool プログラムを使用すると、証明書の SHA-1 フィンガープリントが表示されます。そのための手順は次のとおりです。
デバッグ用のキーストア ファイルを見つけます。ファイル名は
debug.keystoreで、プロジェクトを初めてビルドするときに作成されます。デフォルトでは、Android 仮想デバイス(AVD)ファイルと同じディレクトリに保存されます。- OS X と Linux:
~/.android/ - Windows Vista、Windows 7:
C:\Users\your_user_name\.android\
- OS X と Linux:
SHA-1 フィンガープリントを一覧表示します。
Linux または OS X の場合は、ターミナル ウィンドウを開いて以下を入力します:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
Windows Vista と Windows 7 の場合は、次のコマンドを実行します。
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
出力は次のようになります。
Alias name: androiddebugkey Creation date: Jan 01, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4aa9b300 Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
リリース証明書のフィンガープリントを表示する
-v パラメータを指定して keytool プログラムを使用すると、証明書の SHA-1 フィンガープリントが表示されます。そのための手順は次のとおりです。
- リリース証明書のキーストア ファイルを見つけます。リリース キーストアのデフォルトの場所や名前はありません。リリース用にアプリをビルドするときに指定しないと、ビルドで
.apkが署名なしのままになり、公開する前に署名する必要があります。リリース証明書の場合は、証明書のエイリアス、キーストアのパスワード、証明書も必要です。 キーストア内のすべての鍵のエイリアスを一覧表示するには、次のように入力します。
keytool -list -keystore your_keystore_name
your_keystore_nameは、キーストアの完全修飾パスと名前に置き換えます。.keystore拡張機能を含めます。プロンプトが表示されたら、キーストアのパスワードを入力します。次に、keytoolはキーストア内のすべてのエイリアスを表示します。ターミナルやコマンド プロンプトで次を入力します。
keytool -list -v -keystore your_keystore_name -alias your_alias_name
your_keystore_nameは、キーストアの完全修飾されたパスと名前に置き換えます。.keystore拡張機能を含めます。your_alias_nameは、作成時に証明書に割り当てたエイリアスで置き換えてください。
出力は次のようになります。
Alias name: <alias_name> Creation date: Feb 02, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=Android Debug, O=Android, C=US Issuer: CN=Android Debug, O=Android, C=US Serial number: 4cc9b300 Valid from: Mon Feb 02 08:01:04 UTC 2013 until: Mon Feb 02 18:05:04 PST 2033 Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6B:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
SHA1 で始まる行に、証明書の SHA-1 フィンガープリントが含まれています。このフィンガープリントは、コロンで区切られた 20 個の 2 桁の 16 進数で構成されるシーケンスです。
Google Developers Console から API キーを取得する
Google Awareness API を使い始めるには、[キーを取得] ボタンをクリックします。このリンクをクリックすると、Google Developers Console に移動し、手順に沿って操作することで Awareness API が自動的に有効になります。
または、次の手順で API キーを取得します。
- Google Developers Console に移動します。
- プロジェクトを選択するか、新しいプロジェクトを作成します。
- [続行] をクリックして Awareness API を有効にします。
[認証情報] ページで、Android キーを作成して API 認証情報を設定します。
[キーの作成] ダイアログで、使用を Android アプリに制限する必要があります。そのためには、次の例のように、アプリの SHA-1 フィンガープリントとパッケージ名を入力します。
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75 com.example.android.awareness-example[作成] をクリックします。新しい Android API キーが、プロジェクトの API キーのリストに表示されます。API キーは、次のような文字列です。
AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
API キーを取得したら、スタートガイドの説明に沿って、アプリのマニフェストに追加できます。
追加の API を有効にする
Awareness API を使用すると、ビーコンなど、複数のタイプのコンテキスト データにアクセスできます。これらのタイプを使用するには、Google Developers Console で対応する API を有効にする必要があります。
| サービス | Awareness API のメソッド | 有効にする API |
|---|---|---|
| ビーコン | SnapshotApi.getBeaconState()、FenceApi.BeaconFence |
Nearby Messages API |