本文說明如何在 Android 上開始使用 Nearby Messages API 進行開發。Nearby Messages API 是 Google Play 服務的一部分。
步驟 1:取得 Google Play 服務
Android 裝置必須搭載 Google Play 服務 7.8.0 以上版本,才能使用 Nearby Messages API。搭載 Android 2.3 以上版本的裝置,只要有 Google Play 商店應用程式,就會自動更新 Google Play 服務。如要查看裝置上安裝的 Google Play 服務版本,請依序前往「設定」>「應用程式」>「Google Play 服務」。
請確認開發主機已安裝最新版的 Google Play 服務用戶端程式庫:
- 開啟 Android SDK Manager。
在「Appearance & Behavior」>「System Settings」>「Android SDK」>「SDK Tools」下方,確認已安裝下列套件:
- Google Play 服務
- Google 存放區
步驟 2:取得 Google 帳戶
如要使用 Nearby Messages API,您必須擁有 Google 帳戶。 這樣一來,您 (開發人員) 就能在下一個步驟中啟用 Nearby API (使用者不需要有 Google 帳戶)。如果你已有帳戶,就可以開始使用了。您也可以使用獨立的 Google 帳戶進行測試。
步驟 3:取得 API 金鑰
請按照下列步驟啟用 Android 適用的 Google Nearby Messages API,並取得 API 金鑰:
- 前往 Google Developers Console。
- 建立或選取專案,用來註冊應用程式。
- 點選「繼續」啟用 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.nearbyexample
- 新的 Android API 金鑰即會顯示在專案的 API 金鑰清單中。API 金鑰是由字元組成的字串,如下所示:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
取得憑證的 SHA1 指紋
如要為 Android 應用程式建立新的 API 金鑰,您需要用來簽署 APK 的憑證 SHA1 指紋。訊息只能在以相同專案的 API 金鑰簽署的應用程式之間交換。
如要取得這項指紋,請按照下列步驟操作:
- 找出金鑰存放區的位置。
- 在終端機中,從 JDK 執行
keytool
公用程式。舉例來說,如果您使用`debug`
金鑰儲存區: keytool
指令的輸出內容包含憑證的 SHA1 指紋。
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
注意:偵錯 KeyStore 的密碼為 android
。在 Mac OS 和 Linux 上,偵錯 KeyStore 通常位於 ~/.android/
。在 Windows 中,這通常位於 %USERPROFILE%\
。
步驟 4:設定專案
Android Studio 可輕鬆建立 Nearby Messages API 專案。請按照「建立專案」一文所述步驟建立新專案。在 Android Studio 中開啟模組的 build.gradle
檔案,然後將 Google Play 服務用戶端程式庫新增為依附元件:
apply plugin: 'android' ... dependencies { compile 'com.google.android.gms:play-services-nearby:19.3.0' }
接著,使用上一個步驟中產生的 API 金鑰設定資訊清單:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.sample.app" >
<application ...>
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_KEY" />
<activity>
...
</activity>
</application>
</manifest>
步驟 5:發布及訂閱
在應用程式中,開始使用 Nearby Messages API。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
Nearby Messages API 需要取得使用者同意聲明。首次叫用發布或訂閱時,Nearby 會顯示同意加入對話方塊。