本文档介绍了如何在 Android 设备上开始使用 Nearby Messages API Android。Nearby Messages API 是 Google Play 服务。
第 1 步:获取 Google Play 服务
Nearby Messages API 适用于 Google Play 服务 7.8.0 或更高版本。运行 Android 2.3 或更高版本且安装了 Google Play 商店应用会自动接收 Google Play 服务的最新动态。检查 您设备上安装的是哪个版本的 Google Play 服务,请前往 设置 >应用 >Google Play 服务。
确保您的设备上已安装最新的 Google Play 服务客户端库。 开发主机:
- 打开 Android SDK 管理器。
在外观和行为 >系统设置 >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 密钥,您需要 SHA1 指纹 您用于签署 APK 的证书的 ID。消息只能交换 。
如需获取该指纹,请执行以下操作:
- 找到密钥库的位置。
- 在终端中,从 JDK 运行
keytool
实用程序。对于 例如,如果您使用的是`debug`
密钥库: keytool
命令的输出包含 SHA1 证书的指纹。
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
注意:对于调试密钥库,密码为
android
。在 Mac OS 和 Linux 上,调试密钥库通常是
位于 ~/.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 需要征得用户同意。发布或订阅情况 “附近”功能将会显示一个选择启用对话框。