如要使用 Google Awareness API,您必須在應用程式中新增 Google API 金鑰。您需要的 API 金鑰類型為 Android API 金鑰。
所有 Android 應用程式都須透過數位憑證簽署,而該憑證用於保存私密金鑰。如要進一步瞭解數位憑證,請參閱 Android 指南,瞭解如何簽署應用程式。
Android API 金鑰會連結至特定的憑證套件組合。無論應用程式有多少使用者,每個憑證都只需要一個金鑰。
您必須完成幾個步驟才能取得應用程式金鑰。本指南詳細說明這些細節,如下所示:
- 取得應用程式憑證的相關資訊。
- 在 Google Developers Console 中註冊專案,然後將 User Context API 新增為專案的服務。
- 請索取金鑰。
- 在應用程式中新增金鑰。方法是在應用程式資訊清單中新增元素。
查看應用程式的憑證資訊
API 金鑰是以應用程式數位憑證的簡短形式,稱為 SHA-1 指紋。如要顯示憑證的 SHA-1 指紋,請先確認您使用了正確的憑證。您可能有兩種憑證可供選擇:
- 偵錯憑證:執行偵錯版本時,Android SDK 工具會自動產生這個憑證。這個憑證只能用於您正在測試的應用程式。 請勿嘗試發布以偵錯憑證簽署的應用程式。 如要進一步瞭解偵錯憑證,請參閱 Android 開發人員說明文件的簽署偵錯版本一節。
- 發布憑證:Android SDK 工具會在您執行發布子版本時產生這個憑證。您也可以使用
keytool
程式產生這個憑證。當您準備好將應用程式發布到全世界時,請使用這個憑證。
如要進一步瞭解 keytool
,請參閱其 Oracle 說明文件。
顯示偵錯憑證指紋
將 keytool
程式與 -v
參數搭配使用,即可顯示憑證的 SHA-1 指紋。如要這樣做,請完成下列步驟:
找出您的偵錯 KeyStore 檔案。檔案名稱為
debug.keystore
,這是您第一次建立專案時建立的檔案。根據預設,這類檔案和您的 Android 虛擬裝置 (AVD) 檔案位於同一個目錄中:- OS X 和 Linux:
~/.android/
- Windows Vista 和 Windows 7:
C:\Users\your_user_name\.android\
- OS X 和 Linux:
列出 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 指紋。如要這樣做,請完成下列步驟:
- 找出您的發布憑證 KeyStore 檔案。發布 KeyStore 沒有預設的位置或名稱。如果您在建構要發布的應用程式時未指定版本,版本會讓
.apk
保持未簽署狀態,而您必須先簽署該版本才能發布。若是發布憑證,您還需要憑證的別名、KeyStore 密碼和憑證。 輸入下列指令,列出 KeyStore 中所有金鑰的別名:
keytool -list -keystore your_keystore_name
- 請將
your_keystore_name
替換成 KeyStore 的完整路徑和名稱。加入.keystore
擴充功能。在系統提示時輸入 KeyStore 密碼。然後,keytool
會顯示 KeyStore 中的所有別名。 輸入以下終端機或命令提示字元:
keytool -list -v -keystore your_keystore_name -alias your_alias_name
- 請將
your_keystore_name
替換為 KeyStore 的完整路徑和名稱。加入.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 個雙位十六進位制數碼,以冒號分隔。
從 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 |