註冊與 API 金鑰

如要使用 Google Awareness API,您必須在應用程式中新增 Google API 金鑰。您需要的 API 金鑰類型是 Android API 金鑰。

所有 Android 應用程式都會使用您持有私密金鑰的數位憑證簽署。如要進一步瞭解數位憑證,請參閱 Android 指南,瞭解如何簽署應用程式

Android API 金鑰會連結至特定憑證-套件組合。無論應用程式有多少使用者,每個憑證只需要一個金鑰。

您必須完成幾個步驟才能為應用程式取得金鑰。這些步驟在本指南中已詳細說明,並摘要如下:

  1. 取得應用程式憑證的相關資訊。
  2. 在 Google Developers 控制台中註冊專案,並將 User Context API 新增為專案的服務。
  3. 要求金鑰。
  4. 將金鑰加入應用程式。方法是在應用程式資訊清單中新增元素。

找出應用程式的憑證資訊

API 金鑰是以應用程式數位憑證的簡短形式為根據,這種形式稱為 SHA-1 指紋。如要顯示憑證的 SHA-1 指紋,請先確認您使用的是正確的憑證。您可能有下列兩種憑證可供選擇:

  • 偵錯憑證:執行偵錯版本時,Android SDK 工具會自動產生這個憑證。這個憑證只能用於您正在測試的應用程式。 請勿嘗試發布以偵錯憑證簽署的應用程式。如要進一步瞭解偵錯憑證,請參閱 Android 開發人員說明文件的「簽署偵錯版本」一節。
  • 發布憑證:Android SDK 工具會在您執行發布子版本時產生這個憑證。您也可以使用 keytool 程式產生這個憑證。當您準備好要將應用程式發布上架時,請使用這個憑證。

如要進一步瞭解 keytool,請參閱 Oracle 說明文件

偵錯憑證

顯示偵錯憑證指紋

使用 keytool 程式搭配 -v 參數,即可顯示憑證的 SHA-1 指紋。若要這樣做,請完成下列步驟:

  1. 找出您的偵錯 KeyStore 檔案。檔案名稱為 debug.keystore,這是您第一次建立專案時建立的檔案。根據預設,檔案會儲存在與您的 Android 虛擬裝置 (AVD) 檔案相同的目錄中:

    • OS X 和 Linux~/.android/
    • Windows Vista 和 Windows 7C:\Users\your_user_name\.android\
  2. 列出 SHA-1 指紋:

    • For Linux or OS X, open a terminal window and enter the following:

      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
發布憑證

顯示發布憑證指紋

使用 keytool 程式搭配 -v 參數,即可顯示憑證的 SHA-1 指紋。若要這樣做,請完成下列步驟:

  1. 找出您的發布憑證 KeyStore 檔案。發布 KeyStore 檔案並沒有預設名稱或位置。如果您在建構要發布的應用程式時未加以指定,版本會將您的 .apk 保持為未簽署狀態,而您必須先簽署才能發布應用程式。如使用發布憑證,您還需要別名和密碼,才能使用 KeyStore 和憑證。
  2. 輸入以下內容,即可列出 KeyStore 中所有金鑰的別名:

    keytool -list -keystore your_keystore_name
          
  3. 以完整的 KeyStore 路徑和名稱取代 your_keystore_name。加入 .keystore 擴充功能。出現提示時,輸入 KeyStore 密碼。然後 keytool 就會顯示 KeyStore 中的所有別名。
  4. 輸入以下終端機或命令提示字元:

          keytool -list -v -keystore your_keystore_name -alias your_alias_name
          
  5. 以完整的 KeyStore 路徑和名稱取代 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 個雙位十六進位制數碼,以冒號分隔。

從 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. 在「Create key」對話方塊中,您必須將使用範圍限制為 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. 按一下「建立」,新的 Android API 金鑰會顯示在專案的 API 金鑰清單中。API 金鑰是由字元組成的字串,如下所示:

    AIzaSyBdVl-cTICSwYKrZ95LoVuw7dbMuDt1KG0
    

取得 API 金鑰後,您可以按照開始使用指南的說明,將金鑰新增至應用程式的資訊清單。

啟用其他 API

Awareness API 可讓您存取多種內容資料,例如信標。如要使用這些類型,您必須在 Google Developers Console 中啟用對應的 API。

服務 Awareness API 方法 要啟用的 API
信標 SnapshotApi.getBeaconState()FenceApi.BeaconFence Nearby Messages API