开始使用

本文档介绍如何开始在 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 账号

您需要拥有一个 Google 帐号才能使用 Nearby Messages API。这样,您作为开发者就可以在下一步中启用 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.1.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 需要征得用户同意。首次调用发布或订阅时,“附近”功能将显示选择启用对话框。