開始使用

本文說明如何在 Android 上使用 Nearby Messages API 開始開發。Nearby Messages API 是 Google Play 服務的一部分。

步驟 1:取得 Google Play 服務

Nearby Messages API 適用於搭載 Google Play 服務 7.8.0 以上版本的 Android 裝置。搭載 Android 2.3 以上版本且安裝 Google Play 商店應用程式的裝置,會自動收到 Google Play 服務的更新。如要查看裝置安裝的 Google Play 服務版本,請依序前往「設定」>「應用程式」>「Google Play 服務」

請確認開發主機上已安裝最新的 Google Play 服務用戶端程式庫:

  1. 開啟 Android SDK Manager
  2. 在「Appearance & Behavior」>「System Settings」>「Android SDK」>「SDK Tools」下方,確認已安裝下列套件:

    • Google Play 服務
    • Google Repository

步驟 2:取得 Google 帳戶

如要使用 Nearby Messages API,您必須擁有 Google 帳戶。這樣一來,開發人員就能在下一個步驟中啟用 Nearby API (使用者不必擁有 Google 帳戶)。如果您已擁有帳戶,就可以開始使用了。您也可以為測試目的建立另一個 Google 帳戶。

步驟 3:取得 API 金鑰

請按照下列步驟啟用 Android 版 Google Nearby Messages API,並取得 API 金鑰:

  1. 前往 Google Developers Console
  2. 建立或選取要註冊應用程式的專案。
  3. 按一下「繼續」即可啟用 API。
  4. 在「憑證」頁面中,建立新的「Android 金鑰」 (並設定 API 憑證)。
    注意:如果您目前有 Android 金鑰,可以使用該金鑰。
  5. 在隨即顯示的對話方塊中,輸入應用程式的 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
  6. 新的 Android API 金鑰會顯示在專案的 API 金鑰清單中。API 金鑰是由字元組成的字串,如下所示:
    AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

取得憑證的 SHA1 指紋

如要為 Android 應用程式建立新的 API 金鑰,您需要用來簽署 APK 的憑證 SHA1 指紋。訊息只能在使用相同專案 API 金鑰簽署的應用程式之間交換。

如要取得這組指紋,請按照下列步驟操作:

  1. 找出 KeyStore 的位置。
  2. 在終端機中,從 JDK 執行 keytool 公用程式。舉例來說,如果您使用 `debug` 鍵值庫:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    注意:偵錯 KeyStore 的密碼為 android。在 Mac OS 和 Linux 上,偵錯 KeyStore 通常位於 ~/.android/debug.keystore。在 Windows 上,通常位於 %USERPROFILE%\.android\debug.keystore

  4. keytool 指令的輸出內容包含憑證的 SHA1 指紋。

步驟 4:設定專案

Android Studio 可讓您輕鬆建立鄰近訊息 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 會顯示選擇對話方塊。