开始使用

本文档介绍了如何在 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 管理器
  2. 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 密钥:

  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. 找到密钥库的位置。
  2. 在终端中,运行 JDK 中的 keytool 实用程序。例如,如果您使用的是 `debug` 密钥库:
  3. $ keytool -alias \
    androiddebugkey -keystore \
    ~/.android/debug.keystore -list -v
    

    注意: 对于调试密钥库,密码为 android。在 Mac OS 和 Linux 上,调试密钥库通常 位于 ~/.android/debug.keystore。在 Windows 上,它 通常位于 %USERPROFILE%\.android\debug.keystore

  4. keytool 命令的输出包含证书的 SHA1 指纹。

第 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 会显示选择启用对话框。