Skip to content

Most visited

Recently visited

navigation

创建 Android Wear 中国版的应用

当您创建 Android Wear 中国版的应用时,您需要考虑手持设备没有预装Google Play services的情形。为了方便全球开发 者对中国市场进行应用适配,本页列出通用的特殊注意事项。

使用正确的 Google Play services 版本

Google Play services 10.2.0 版本提供全球范围内的 Fused Location Provider API Data Layer API支持。开发者如若使用这两个API,则必须使用这个版本。否则就不需要引入任何GMS的依赖。

Fused Location Provider API

如果您要使用 Fused Location Provider API, 则需要在您项目 wear module 的 build.gradle 文件 中添加如下依赖

dependencies {
    ...
    compile 'com.google.android.gms:play-services-location:10.2.0'
}

Data Layer API

注意: 从 Android Wear 2.0 开始,我们并不鼓励开发者使用 Data Layer API。这 是因为手表应用现在可以直接访问互联网,大大简化了应用开发。而且,与 iOS 配对手表设备不支持 Data Layer API。

如果您的应用使用 Data Layer API, 您需要在项目 wear module 中的 build.gradle 文件添加下行。该 行需要使用 10.2.0 的 client library:

dependencies {
    ...

    compile 'com.google.android.gms:play-services-wearable:10.2.0'

    ...

}

与此同时,您也需要到您手机应用的项目 mobile module 中的 build.gradle 文件添加下行。将 Google Play services 以来提升到 10.2.0 版本

dependencies {
    ...

    compile 'com.google.android.gms:play-services-wearable:10.2.0'

}

用户认证

在开始实现用户认证之前,请思考您的用例是否真的需要认证。比如,对于一个天气预报的应用来说,很有可能根本不需要用户进行 登录和认证。

如果您真的需要用户认证,我们推荐使用 OAuth 2.0 或者,作为一个备选方案,让用户 直接在手表上输入认证信息。其次,您也可以通过 Data Layer传递认证信息。然而我们不推荐使用 Data Layer,因为在与 iOS 配对的手表上,该 API 无法使用。

消息同步

在中国,我们暂无 远程通知同步支持。手机上的通知只有在与手表通过蓝牙连接的时候才会同步到Android Wear设备上。

定位与地图坐标兼容性

如果您需要使用定位,我们鼓励开发者使用 FusedLocationProvider。这是因为FusedLocationProvider能够自动帮助您处理不同的应用环境,例如手表是否有硬件 定位支持,手表是否与 Android 或 iOS 设备配对等等。另外,它也从系统级对定位进行了功耗优化

当您与中国第三方地图SDK集成 FusedLocationProvider 时,请务必考虑到中国的地图提供商会很可能使用不 同的位置坐标系。FusedLocationProvider 保证您只会得到 WGS84 标准的坐标。请务必检查您是否需 要根据地图SDK的需求,对获取的坐标进行转换。

Google Fit 支持

Google Fit的 累积记步器 在中国市场提供最多七天的历史记录支持。您如若需要使用该API,请确保在创建API client时不要设置任何用户 帐号。

模拟器支持

您可以通过模拟器使用Android Wear中国版模拟器,以此来测试您的应用。中国版模拟器在 Android Studio 3.0 上开始 提供。

请按照以下步骤安装Android Wear中国版模拟器:

  1. 确保您安装了 Android Emulator 26.1.2 版本。
  2. 从SDK Manager上下载 Android Wear 中国版模拟器。
  3. 当创建 AVD Profile 时,选择 Android Wear for China 镜像。
  4. 选择创建的 AVD Profile 并启动模拟器

从应用内发起蓝牙和Wi-Fi请求

Android Wear 2.0会自动分发网络请求。在绝大多数的情况下,应用并不需要自己打开蓝牙或者Wi-Fi。

在中国版上,如果一个应用自己通过 API 打开了蓝牙或者Wi-Fi,这个请求会直接失败。与此同时,系统会弹出一个对话框来要求 用户进行确认。只有当用户确认时,相应的网络接口才会被打开。这个特点会在每次 (并非第一次应用请求) 请求 BluetoothAdapter.enable()WifiManager.setEnabled(true) 时发生。

权限审查模式

在中国,Android Wear 中国版手表运行在 权限审查模式 中。在该模式下,对于 targetApiLevel 低于23的应用,系统对其有特殊的限制:

所以,我们强烈的推荐您使用 targetApiLevel 23 以上,并使用 运行时权限最佳实践指南的建议

使用其他 Google Play services APIs

如果您的应用使用了除了 Wearable API 以外的 Google Play services APIs,您则需要在使用之前检查该 API 是否可用。开发者可以使用以下两种方法检查 Google Play service API 是否可用:

  1. 在与其他 API 连接时,使用一个单独的 GoogleApiClient 实例。该接口包含了一个回调来通知您的应用连接是否 成功 失败。如若连接失败, ConnectionResult 列出失败原因为 API_UNAVAILABLE。想要了解如何处理连接失败,请浏览 使用 Google APIs
  2. 使用 GoogleApiClient.Builder 中的 addApiIfAvailable() 方法来连接所需的API。当 onConnected() 回调响应时,使用 hasConnectedApi() 方法来确保每个请求过的 API 已经正确连接。

在中国发布手表应用

为了能够让您的应用更有效的分发到 Android Wear 中国版用户,您可以上传应用到我们的 Android Wear 中国合作伙伴应用市场:

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)