Google Awareness API を使用するには、Google API キーをアプリに追加する必要があります。必要な API キーのタイプは Android API キーです。
すべての Android アプリは、秘密鍵を保持するデジタル証明書で署名されます。デジタル証明書について詳しくは、アプリに署名する方法についての Android ガイドをご覧ください。
Android API キーは、特定の証明書とパッケージのペアにリンクされています。アプリのユーザー数に関係なく、証明書ごとに必要な鍵は 1 つだけです。
アプリのキーを取得するには、いくつかの手順が必要です。このガイドではそれぞれの手順について詳しく説明します。手順の概要は次のとおりです。
- アプリの証明書に関する情報を取得する
- Google Cloud コンソールでプロジェクトを登録し、プロジェクトのサービスとして User Context API を追加します。
- キーを要求する。
- キーをアプリに追加します。そのために、アプリ マニフェストに要素を追加します。
アプリの証明書情報を確認する
API キーは、アプリのデジタル証明書という、SHA-1 フィンガープリントと呼ばれる短い形式に基づいています。証明書の SHA-1 フィンガープリントを表示するには、まず、正しい証明書を使用していることを確認してください。次の 2 つの証明書から選択できます。
- デバッグ用証明書: この証明書は、デバッグビルドを行う際に Android SDK ツールによって自動的に生成されます。この証明書は、テスト中のアプリでのみ使用してください。デバッグ証明書で署名されたアプリを公開しないでください。 デバッグ用証明書について詳しくは、Android デベロッパー向けドキュメントのデバッグビルドに署名するのセクションをご覧ください。
- リリース用証明書: この証明書は、リリースビルドを行う際に Android SDK ツールによって生成されます。この証明書は
keytool
プログラムでも生成できます。この証明書は、アプリを世界にリリースする準備ができたときに使用します。
keytool
の詳細については、Oracle のドキュメントをご覧ください。
デバッグ用証明書のフィンガープリントを表示する
証明書の SHA-1 フィンガープリントを表示するには、-v
パラメータを指定して keytool
プログラムを使用します。そのための手順は次のとおりです。
デバッグ用のキーストア ファイルを見つけます。ファイル名は
debug.keystore
で、これはプロジェクトを初めてビルドしたときに作成されます。デフォルトでは、Android Virtual Device(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
リリース証明書のフィンガープリントを表示する
証明書の SHA-1 フィンガープリントを表示するには、-v
パラメータを指定して keytool
プログラムを使用します。そのための手順は次のとおりです。
- リリース用証明書のキーストア ファイルを見つけます。リリース キーストアのデフォルトの場所や名前はありません。リリース用アプリのビルド時に指定しないと、ビルドは
.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 Cloud Console から API キーを取得する
Google Awareness API を使用するには、[キーを取得] ボタンをクリックします。このプロセスは Google Developers Console にリンクされており、プロセス内で Awareness API が自動的に有効になります。
または、次の手順で API キーを取得します。
- Google Cloud 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 キーをアプリのマニフェストに追加できます。
追加の API を有効にする
Awareness API を使用すると、ビーコンなど、複数のタイプのコンテキスト データにアクセスできます。これらのタイプを使用するには、Google Cloud Console で対応する API を有効にする必要があります。
サービス | Awareness API メソッド | 有効にする API |
---|---|---|
ビーコン | SnapshotApi.getBeaconState() 、FenceApi.BeaconFence |
Nearby Messages API |