登録と API キー

Google Awareness API を使用するには、Google API キーをアプリに追加する必要があります。必要な API キーの種類は Android API キーです。

すべての Android アプリは、秘密鍵を保持するデジタル証明書で署名されています。デジタル証明書について詳しくは、アプリに署名する方法に関する Android ガイドをご覧ください。

Android API キーは、特定の証明書パッケージ ペアにリンクされています。アプリのユーザー数に関係なく、証明書ごとに必要な鍵は 1 つだけです。

アプリの鍵を取得するには、いくつかの手順が必要です。これらの手順については、このガイドで詳しく説明します。概要は次のとおりです。

  1. アプリの証明書に関する情報を取得します。
  2. Google Developers Console でプロジェクトを登録し、User Context API をプロジェクトのサービスとして追加します。
  3. キーを要求する。
  4. キーをアプリに追加します。そのためには、アプリ マニフェストに要素を追加します。

アプリの証明書情報を確認する

API キーは、アプリのデジタル証明書の簡略形(SHA-1 フィンガープリントとも呼ばれます)を基にしています。証明書の SHA-1 フィンガープリントを表示するには、まず正しい証明書を使用していることを確認します。次の 2 つの証明書から選択できます。

  • デバッグ用証明書: この証明書は、デバッグビルドを行う際に Android SDK ツールによって自動的に生成されます。この証明書は、テスト中のアプリでのみ使用してください。デバッグ用証明書で署名されたアプリは公開しないでください。 デバッグ用証明書について詳しくは、Android デベロッパー向けドキュメントのデバッグビルドに署名するをご覧ください。
  • リリース用証明書: この証明書は、リリースビルドを行う際に Android SDK ツールによって生成されます。この証明書は keytool プログラムで生成することもできます。この証明書は、アプリを一般向けにリリースする準備が整っている場合に使用してください。

keytool の詳細については、Oracle のドキュメントをご覧ください。

デバッグ用証明書

デバッグ用証明書のフィンガープリントを表示する

-v パラメータを指定した keytool プログラムを使用して、証明書の SHA-1 フィンガープリントを表示します。そのための手順は次のとおりです。

  1. デバッグ用のキーストア ファイルを見つけます。ファイル名は debug.keystore です。このファイルはプロジェクトを初めて構築するときに作成され、デフォルトでは、Android Virtual Device(AVD)ファイルと同じディレクトリに保存されます。

    • OS X と Linux: ~/.android/
    • Windows Vista、Windows 7: C:\Users\your_user_name\.android\
  2. 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 フィンガープリントを表示します。そのための手順は次のとおりです。

  1. リリース証明書のキーストア ファイルを見つけます。リリース用キーストアには、デフォルトの保存場所や名前はありません。リリース対象のアプリを作成する際にキーストアを指定しなかった場合は、.apk が未署名のままになります。このため、アプリを公開するには事前に署名する必要があります。リリース用証明書では、証明書のエイリアス、キーストアのパスワード、証明書も必要です。
  2. キーストア内のすべてのキーのエイリアスを一覧表示するには、次のコマンドを入力します。

    keytool -list -keystore your_keystore_name
          
  3. your_keystore_name は、キーストアの完全修飾パスと名前に置き換えます。.keystore 拡張機能を含めます。プロンプトが表示されたら、キーストアのパスワードを入力します。パスワードを入力すると、keytool にキーストア内のすべてのエイリアスが表示されます。
  4. ターミナルやコマンド プロンプトで次を入力します。

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. your_keystore_name は、完全修飾パスとキーストアの名前に置き換えます。.keystore 拡張機能を含めます。
  6. 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 キーを取得します。

  1. Google Developers Console に移動します。
  2. プロジェクトを選択するか、新しいプロジェクトを作成します。
  3. [続行] をクリックして Awareness API を有効にします。
  4. [認証情報] ページで Android キーを作成し、API 認証情報を設定します。

  5. [鍵を作成する] ダイアログで、使用を 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
    
  6. [作成] をクリックします。プロジェクトの API キーのリストに、新しい Android API キーが表示されます。API キーは次のような文字列です。

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

API キーを取得したので、スタートガイドで説明されているように、アプリのマニフェストに追加できます。

その他の API を有効にする

Awareness API を使用すると、ビーコンなど、複数の種類のコンテキスト データにアクセスできます。これらのタイプを使用するには、Google Developers Console で対応する API を有効にする必要があります。

サービス Awareness API メソッド 有効にする API
ビーコン SnapshotApi.getBeaconState()FenceApi.BeaconFence Nearby Messages API