При создании приложений Wear OS для Китая необходимо учитывать телефоны без предустановленных сервисов Google Play. На этой странице содержатся общие изменения, которые разработчикам, возможно, придется принять для китайского рынка.
Используйте правильную версию сервисов Google Play.
Службы Google Play версии 10.2.0 обеспечивают глобальную поддержку API Fused Location Provider и API уровня данных . Вам необходимо использовать эту версию сервисов Google Play, если вы используете эти API для обеспечения поддержки более широкого спектра устройств Wear OS в Китае. В других случаях эта зависимость необязательна.
Примечание. Хотя службы Google Play содержат API для приложений Wear OS, приложения Wear OS для Китая должны продолжать использовать API, связанные с GoogleApiClient
; см. раздел « Доступ к API носимых устройств» .
API-интерфейс объединенного поставщика местоположений
Если вы используете API Fused Location Provider, включите следующую зависимость в файл build.gradle
вашего модуля Wear OS:
классный
dependencies { ... implementation 'com.google.android.gms:play-services-location:10.2.0' }
Котлин
dependencies { ... implementation("com.google.android.gms:play-services-location:10.2.0") }
API уровня данных
Если ваше приложение использует API уровня данных, вам необходимо добавить следующую строку в файл build.gradle
вашего модуля Wear OS. Для этой строки требуется использование клиентской библиотеки версии 10.2.0.
классный
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' ... }
Котлин
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") ... }
Добавьте следующую строку в файл build.gradle
вашего мобильного модуля. Замените зависимость сервисов Google Play ссылкой на версию 10.2.0.
классный
dependencies { ... implementation 'com.google.android.gms:play-services-wearable:10.2.0' }
Котлин
dependencies { ... implementation("com.google.android.gms:play-services-wearable:10.2.0") }
Аутентификация
Прежде чем внедрять аутентификацию, просмотрите варианты использования, чтобы понять, действительно ли аутентификация необходима. Например, для приложения, предоставляющего прогноз погоды, скорее всего, не потребуется вход в систему и, следовательно, аутентификация.
Если вам требуется аутентификация, мы рекомендуем использовать библиотеку AndroidX Oauth . Для этого необходимо использовать предоставление кода авторизации с потоком PKCE . Вы также можете использовать один из других методов, описанных в разделе Аутентификация на носимых устройствах . Использование библиотеки поддержки носимых устройств не рекомендуется.
Дополнительные сведения см. в примере OAuth для Wear OS на GitHub.
Мостовые уведомления
Мостовые уведомления не поддерживаются в Китае. Уведомления телефона передаются в Wear OS только в том случае, если устройство Wear OS подключено к телефону через Bluetooth.
Совместимость координат местоположения и картографии
Используйте FusedLocationProvider
(FLP), чтобы определить местоположение пользователя в Китае, как и в остальном мире. Это гарантирует, что ваше приложение будет учитывать наилучшую информацию независимо от аппаратного обеспечения часов и платформы телефона, к которой они подключены. Использование FLP также добавляет оптимизацию батареи, встроенную в платформу Wear OS.
При интеграции FusedLocationProvider
со сторонними SDK карт учитывайте совместимость координат между поставщиками. FusedLocationProvider
сообщает местоположение в соответствии со стандартом WGS84 . Обязательно преобразуйте системы координат соответствующим образом.
Поддержка Google Fit
Счетчик общего количества шагов Google Fit, минуты движений и точки пульса поддерживаются в Китае с историей до семи дней. Вы можете получить к этому доступ без предоставления учетных данных пользователя.
Поддержка голосовых действий
Платформа Wear OS предоставляет несколько голосовых сигналов, основанных на действиях пользователя, например _"Показать частоту пульса"_ или _"Установить будильник"_. Это позволяет пользователям сказать, что они хотят делать, и позволяет системе определить, какое действие лучше всего начать.
Когда пользователи произносят голосовое действие, ваше приложение может фильтровать намерение, которое активируется для запуска действия. Чтобы запустить службу в фоновом режиме, отобразите действие как визуальную подсказку и запустите службу в действии. Обязательно вызовите finish()
, чтобы избавиться от визуального сигнала.
Вот список голосовых намерений, поддерживаемых платформой Wear OS:
Категория | Пример | Спецификация намерения |
Вызов автомобиля | 打车去三里屯 | Действие Дополнительный Дополнительное не является обязательным. |
Установить будильник | 设置一个明早七点的闹钟 | Действие Дополнительно Эти дополнительные возможности не являются обязательными. Предоставьте либо оба, либо ни одного из этих дополнений. |
Установить таймер | 设置一个三分钟的倒计时 | Действие Дополнительно |
Запустить секундомер | 开始计时 | Действие |
Начать или остановить поездку на велосипеде | 开始骑车 | Действие Тип пантомимы Дополнительно |
Начать или остановить пробежку | 开始跑步 | Действие Тип пантомимы Дополнительно |
Начать или остановить тренировку | 开始锻炼 | Действие Тип пантомимы Дополнительно |
Показать частоту пульса | 查看心率 | Действие Тип пантомимы |
Показать количество шагов | 查看步数 | Действие Тип пантомимы |
Навигация | 导航去三里屯 | Действие Данные geo:широта,долгота?q=融科资讯中心 |
Голосовой помощник также может использовать существующие общие намерения Android для запуска определенных действий, где это применимо.
Поддержка эмулятора
Вы можете использовать китайскую версию образа эмулятора Wear OS для тестирования своих приложений. Это поддерживается Android Studio 3.0 и выше.
Чтобы протестировать свои приложения в китайской версии эмулятора, выполните следующие действия:
- Установите эмулятор Android.
- Загрузите образы Wear OS для Китая из менеджера SDK. Используйте версию для Wear OS 3.5 (уровень API 30).
- Выберите образ Wear OS for China при создании профиля AVD.
- Запустите эмулятор Wear OS for China для разработки.
![](https://developer.android.com/static/wear/images/emulator-ch.png?authuser=9&hl=ru)
![](https://developer.android.com/static/wear/images/emulator-screen.png?authuser=9&hl=ru)
Рисунок 1. Примеры китайской версии эмулятора Wear OS.
Эта версия эмулятора Wear OS поставляется с несколькими предустановленными приложениями:
- Окружающий режим
- Контакты
- Рукописный ввод Google
- Сервисы Google Play
- Службы работоспособности для Wear OS
- Распознавание горячих слов для устройств LE
- Пиньинь
- Play Store (адаптирован для устройств в Китае)
- Карманные часы
- Обратный разговор
- Циферблаты (аналоговые и цифровые версии)
- Основные услуги Wear
Инициировать канал Bluetooth и Wi-Fi для конкретного приложения.
Wear OS автоматически маршрутизирует сетевые запросы. В большинстве случаев приложению не требуется открывать канал Bluetooth и Wi-Fi для конкретного приложения.
Если приложение запрашивает специфичный для приложения канал Bluetooth и Wi-Fi в Китае, запрос автоматически завершается неудачно. Вместо этого отображается диалоговое окно с запросом у пользователя подтверждения. Если пользователь подтвердит, канал откроется. Это происходит каждый раз, а не только при первом использовании. Вызывается BluetoothAdapter.enable()
или WifiManager.setEnabled(true)
.
Примечание. Чтобы приложение, предназначенное для Android 10 (уровень API 29) или выше, могло вызывать WifiManager.setEnabled()
, оно должно быть системным приложением или контроллером политики устройства (DPC) .
Режим проверки разрешений
В Китае устройства Wear OS for China работают в режиме проверки разрешений, который накладывает некоторые ограничения на использование приложений с targetApiLevel
ниже 23. Ознакомьтесь со следующими ограничениями:
- Несмотря на то, что разрешения предоставляются во время установки, когда приложение с
targetApiLevel
ниже 23 запускается в первый раз, появляется диалоговое окно с просьбой подтвердить разрешения для этого приложения. - Компоненты приложения, такие как приемники широковещательного вещания, службы и действия, не реагируют на соответствующие события до первого использования приложения.
В результате мы рекомендуем вам использовать targetApiLevel
23 или выше и принять рекомендации по разрешениям приложений .
Используйте API других сервисов Google Play.
Если ваше приложение использует API сервисов Google Play, отличные от API носимых устройств, тогда вашему приложению необходимо проверить, доступны ли эти API для использования во время выполнения, и отреагировать соответствующим образом. Проверить доступность API сервисов Google Play можно двумя способами:
- Используйте отдельный экземпляр
GoogleApiClient
для подключения к другим API. Этот интерфейс содержит обратные вызовы, чтобы предупредить ваше приложение об успешном или неудачном соединении. В случае неудачного подключенияConnectionResult
показываетAPI_UNAVAILABLE
. Чтобы узнать, как обрабатывать сбои подключения, см. раздел Доступ к API Google . - Используйте метод
addApiIfAvailable()
GoogleApiClient.Builder
для подключения к необходимым API. После срабатывания обратного вызоваonConnected()
используйте методhasConnectedApi()
, чтобы убедиться, что каждый из запрошенных API подключен правильно.
Распространение приложений в Китае
Чтобы эффективно охватить пользователей Wear OS в Китае, вы можете распространять их через сторонние магазины приложений Wear OS, например следующие:
- Магазин Galaxy Store для устройств Samsung
- Магазин Xiaomi для устройств Xiaomi
- Мобвои для всех остальных устройств