Как перенести Androidify на Wear OS с помощью функции "Отправить циферблат"
Время на чтение: 3 минуты
Несколько месяцев назад мы перезапустили Androidify как приложение для создания персонализированных ботов Android. Androidify превращает селфи в забавного робота Android с помощью Gemini и Imagen.
Однако Android используется на устройствах разных типов, включая XR, поэтому мы решили добавить Androidify в Wear OS.
Циферблат Androidify
Поскольку боты Androidify очень персонализированы, лучше всего показывать их на циферблате. Это не только самый заметный элемент, но и самый личный, позволяющий выразить себя.
Персонализированный циферблат Androidify, созданный на основе селфи
Теперь Androidify может динамически создавать циферблаты в приложении для телефона и отправлять их на часы, где они будут автоматически устанавливаться. Все это происходит за считанные секунды.
Общее описание
Процесс создания и установки циферблата
Чтобы обеспечить сквозной процесс, необходимо объединить несколько технологий, как показано на этой схеме.
Сначала аватар пользователя объединяется с существующим шаблоном Watch Face Format, который затем упаковывается в APK. Это подтверждено, и мы объясним почему. и отправлять их на часы.
После получения циферблата часами для его установки и активации используется новый Watch Face Push API, который входит в состав Wear OS 6.
Подробнее о том, как это работает:
Как создать шаблоны циферблатов
Циферблат создается на основе шаблона, разработанного в Watch Face Designer. Это новый плагин Figma, который позволяет создавать циферблаты в формате Watch Face Format прямо в Figma.
Шаблон циферблата Androidify в Watch Face Designer
Плагин позволяет экспортировать циферблат разными способами, в том числе как ресурсы Watch Face Format (WFF). Затем их можно легко добавить в качестве объектов в приложении Androidify, чтобы динамически создавать циферблаты.
Упаковка и проверка
После того как шаблон и аватар будут объединены, Portable Asset Compiler Kit (Pack) используется для сборки APK.
В Androidify Pack используется как нативная библиотека на телефоне. Подробнее о том, как Androidify взаимодействует с библиотекой Pack, можно узнать в репозитории GitHub.
На последнем этапе перед передачей APK-файл проверяется валидатором отправки циферблатов.
Валидатор проверяет, подходит ли APK-файл для установки. В частности, мы проверяем, является ли APK-файл циферблатом, и оцениваем его производительность. Если он действителен, валидатор создает токен.
Он необходим для установки.
Отправка циферблата
Приложение Androidify для Wear OS использует WearableListenerService, чтобы отслеживать события на уровне данных Wearable.
Приложение "Телефон" передает циферблат, используя сочетание MessageClient для настройки процесса и ChannelClient для потоковой передачи APK.
Установка циферблата на часы
После того как циферблат будет получен на устройстве Wear OS, приложение Androidify использует новый Watch Face Push API, чтобы установить его.
val wfpManager =
WatchFacePushManagerFactory.createWatchFacePushManager(context)
val response = wfpManager.listWatchFaces()
try {
if (response.remainingSlotCount > 0) {
wfpManager.addWatchFace(apkFd, token)
} else {
val slotId = response.installedWatchFaceDetails.first().slotId
wfpManager.updateWatchFace(slotId, apkFd, token)
}
} catch (a: WatchFacePushManager.AddWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
} catch (u: WatchFacePushManager.UpdateWatchFaceException) {
return WatchFaceInstallError.WATCH_FACE_INSTALL_ERROR
}В Androidify используется метод addWatchFace или updateWatchFace в зависимости от сценария. Watch Face Push определяет концепцию "слотов" – сколько циферблатов может быть установлено в приложении одновременно. В Wear OS 6 это значение равно 1.
Androidify устанавливает циферблат, если есть свободный слот, а если нет, то заменяет им любой существующий циферблат.
Как установить активный циферблат
Установка циферблата программным способом – это отличный шаг, но Androidify стремится к тому, чтобы циферблат также был активным.
В Watch Face Push добавлено новое динамическое разрешение, которое необходимо предоставить, чтобы приложения могли выполнять описанные выше действия:
com.google.wear.permission.SET_PUSHED_WATCH_FACE_AS_ACTIVE
После получения разрешения можно вызвать метод wfpManager.setWatchFaceAsActive(), чтобы установить активный циферблат.
Однако при работе с Androidify необходимо учитывать ряд факторов:
- Данные этого типа (
setWatchFaceAsActive) можно использовать только один раз. SET_PUSHED_WATCH_FACE_AS_ACTIVEнельзя запросить повторно, если пользователь отклонил запрос.- Возможно, Androidify уже управляет активным циферблатом.
Подробнее о том, как Androidify реализует логику установки активного устройства…
Как начать работу с функцией "Отправка циферблатов" для Wear OS
Watch Face Push – это универсальный API, который подходит как для улучшения Androidify, так и для создания полноценных маркетплейсов циферблатов.
Возможно, у вас уже есть приложение для телефонов и вы ищете способы повысить вовлеченность пользователей.
Или вы уже создаете циферблаты и хотите создать собственное сообщество и галерею, выпустив приложение-магазин?
Посмотрите следующие ресурсы:
- Watch Face Push
- Watch Face Format. Также обратите внимание на предстоящие изменения правил публикации циферблатов.
- Watch Face Designer
- Репозиторий Androidify на GitHub
- Страница приложения Androidify в Google Play
Также рекомендуем посмотреть видео, в котором рассказывается, как мы перенесли Androidify на Wear OS.
Нам не терпится увидеть, что вы создадите с помощью Watch Face Push!
-
Новости продуктовУ разработчиков Android есть множество вариантов выбора агентов, больших языковых моделей (LLM), инструментов и интерфейсов командной строки (CLI), которые можно использовать для разработки приложений. Наша цель – помочь вам создавать красивые и качественные приложения для Android, независимо от того, как вы это делаете.
Simona Milanovic • Время на чтение: 4 минуты -
Новости продуктовМы постоянно расширяем возможности платформы подписок в Google Play, чтобы помочь вам развивать бизнес, адаптироваться к новым бизнес-моделям и привлекать пользователей.
Sheenam Mittal • Время на чтение: 4 минуты -
Новости продуктовВ прошлом году мы открыли Android Studio для любых моделей ИИ. Сегодня мы делаем следующий шаг и добавляем поддержку агентов для написания кода.
Matthew Warner • Время на чтение: 3 минуты
Получайте свежие новости о разработке приложений для Android на свою электронную почту каждую неделю.