Создание приложений Wear OS для Китая

При создании приложений Wear OS для Китая необходимо учитывать наличие устройств без предустановленных сервисов Google Play. Эта страница содержит общие изменения, которые разработчикам, возможно, потребуется внедрить для китайского рынка.

Используйте правильную версию сервисов Google Play

Сервисы Google Play версии 10.2.0 обеспечивают глобальную поддержку API Fused Location Provider и API Data Layer . Для поддержки более широкого спектра устройств Wear OS в Китае необходимо использовать эту версию сервисов Google Play. В других случаях эта зависимость необязательна.

Примечание: несмотря на то, что сервисы 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 Data Layer, вам необходимо добавить следующую строку в файл 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 . Вы также можете использовать один из других методов, описанных в разделе «Аутентификация на носимых устройствах» . Использование библиотеки поддержки носимых устройств не рекомендуется.

Для получения дополнительной информации см. пример Wear OS OAuth на GitHub.

Уведомления по мосту

Уведомления с моста не поддерживаются в Китае. Уведомления с телефона передаются на Wear OS только в том случае, если устройство Wear OS подключено к телефону по Bluetooth.

Совместимость местоположения и картографических координат

Используйте FusedLocationProvider (FLP) для определения местоположения пользователя в Китае, как и в остальном мире. Это гарантирует, что ваше приложение будет использовать наиболее точную информацию независимо от устройства часов и платформы телефона, с которым они сопряжены. Использование FLP также обеспечивает оптимизацию расхода заряда батареи, встроенную в платформу Wear OS.

При интеграции FusedLocationProvider со сторонними картографическими SDK учитывайте совместимость координат между поставщиками. FusedLocationProvider сообщает местоположение в соответствии со стандартом WGS84 . При необходимости обязательно преобразуйте системы координат.

Поддержка Google Fit

Счётчик шагов, минут активности и баллов сердечного ритма Google Fit поддерживается в Китае и позволяет сохранять историю до семи дней. Доступ к ней можно получить без указания учётных данных пользователя.

Поддержка голосовых команд

Платформа Wear OS предоставляет несколько голосовых команд, основанных на действиях пользователя, например, «Показать пульс» или «Установить будильник». Это позволяет пользователю сказать, что он хочет сделать, а система определит наилучшее действие для начала.

Когда пользователи произносят голосовое действие, ваше приложение может фильтровать намерение, которое активируется для запуска активности. Чтобы запустить службу в фоновом режиме, отобразите активность в виде визуальной подсказки и запустите службу в активности. Обязательно вызовите метод finish() , чтобы избавиться от визуальной подсказки.

Вот список голосовых намерений, поддерживаемых платформой Wear OS:

Категория Пример Спецификация намерений
Остановка автомобиля打车去三里屯Действие

com.google.android.gms.actions.RESERVE_TAXI_RESERVATION

Дополнительный

to : признанный пункт назначения

Дополнительная опция необязательна.

Установить будильник设置一个明早七点的闹钟Действие

android.intent.action.SET_ALARM

Дополнительно

android.provider.AlarmClock.EXTRA_HOUR : целое число с часом будильника

android.provider.AlarmClock.EXTRA_MINUTES : целое число с минутой будильника

Эти дополнительные опции необязательны. Вы можете предоставить одну из них, обе или ни одну из них.

Установить таймер设置一个三分钟的倒计时Действие

android.intent.action.SET_TIMER

Дополнительно

android.provider.AlarmClock.EXTRA_LENGTH : целое число в диапазоне от 1 до 86400 (количество секунд в 24 часах), представляющее длительность таймера.

Включить секундомер开始计时Действие

com.google.android.wearable.action.STOPWATCH

Начать или закончить поездку на велосипеде开始骑车Действие

vnd.google.fitness.TRACK

Тип пантомимы

vnd.google.fitness.activity/biking

Дополнительно

actionStatus : строка со значением ActiveActionStatus при запуске и CompletedActionStatus при остановке

Начать или остановить пробежку开始跑步Действие

vnd.google.fitness.TRACK

Тип пантомимы

vnd.google.fitness.activity/running

Дополнительно

actionStatus : строка со значением ActiveActionStatus при запуске и CompletedActionStatus при остановке

Начать или остановить тренировку开始锻炼Действие

vnd.google.fitness.TRACK

Тип пантомимы

vnd.google.fitness.activity/other

Дополнительно

actionStatus : строка со значением ActiveActionStatus при запуске и CompletedActionStatus при остановке

Показывать частоту сердечных сокращений查看心率Действие

vnd.google.fitness.VIEW

Тип пантомимы

vnd.google.fitness.data_type/com.google.heart_rate.bpm

Показывать количество шагов查看步数Действие

vnd.google.fitness.VIEW

Тип пантомимы

vnd.google.fitness.data_type/com.google.step_count.cumulative

Навигация导航去三里屯Действие

android.intent.action.VIEW

Данные

geo:широта,долгота?q=融科资讯中心

Голосовой помощник также может использовать существующие общие намерения Android для запуска определенных действий там, где это применимо.

Поддержка эмулятора

Вы можете использовать китайскую версию образа эмулятора Wear OS для тестирования своих приложений. Поддерживается Android Studio 3.0 и выше.

Чтобы протестировать свои приложения на китайской версии эмулятора, выполните следующие действия:

  1. Установите эмулятор Android.
  2. Загрузите образы Wear OS for China из менеджера SDK. Используйте версию для Wear OS 3.5 (API уровня 30).
  3. При создании профиля AVD выберите образ Wear OS for China.
  4. Запустите эмулятор Wear OS for China для разработки.
  5. Рисунок 1. Примеры китайской версии эмулятора Wear OS.

Эта версия эмулятора Wear OS поставляется с несколькими предустановленными приложениями:

  • Режим Ambient
  • Контакты
  • Рукописный ввод Google
  • Сервисы Google Play
  • Медицинские услуги для Wear OS
  • Распознавание ключевых слов для LE-устройств
  • Пиньинь
  • Play Store (адаптировано для устройств в Китае)
  • Карманные часы
  • TalkBack
  • Циферблаты (как аналоговые, так и цифровые)
  • Основные услуги 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 можно двумя способами:

  1. Используйте отдельный экземпляр GoogleApiClient для подключения к другим API. Этот интерфейс содержит обратные вызовы, оповещающие ваше приложение об успешном или неудачном подключении. В случае неудачного подключения ConnectionResult возвращает API_UNAVAILABLE . Чтобы узнать, как обрабатывать ошибки подключения, см. раздел Доступ к API Google .
  2. Используйте метод addApiIfAvailable() класса GoogleApiClient.Builder для подключения к необходимым API. После срабатывания обратного вызова onConnected() используйте метод hasConnectedApi() , чтобы убедиться, что все запрошенные API подключены корректно.

Распространять приложения в Китае

Для эффективного охвата пользователей Wear OS в Китае вы можете осуществлять распространение через сторонние магазины приложений Wear OS, например: