开始使用

本文档介绍了如何开始在 Android 上使用附近分享消息 API 进行开发。Nearby Messages API 是 Google Play 服务的一部分。

第 1 步:获取 Google Play 服务

Nearby Messages API 适用于搭载 7.8.0 或更高版本 Google Play 服务的 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,您可以轻松为附近消息 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 需要征得用户同意。首次调用 publish 或 subscribe 时,附近分享会显示一个选择接受对话框。