Настройте приложение на телефоне для Watch Face Push
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Для канонического рынка мобильное приложение является основным способом взаимодействия пользователя с приложением.
Установить циферблат
Когда пользователь выбирает циферблат в приложении для телефона, последующий процесс настройки циферблата состоит из двух этапов:
Установка: Установите циферблат с помощью функции Watch Face Push, запущенной через MessageClient . Этот шаг прост: используйте функцию addWatchFace или updateWatchFace , запущенную через MessageClient с телефона на часы.
Возможно, никаких действий не требуется . Возможно, торговая площадка уже контролирует активный циферблат.
Вмешательство пользователя может не потребоваться . Приложение имеет необходимые разрешения для установки активного циферблата и может сделать это напрямую с помощью setWatchFaceAsActive() .
Могут потребоваться указания относительно того, как принимать запросы на разрешения или как вручную устанавливать циферблат с помощью долгого нажатия или через сопутствующее приложение.
Ответ на установку
Для облегчения фазы активации фаза установки должна вернуть следующую информацию с часов на телефон:
Результат попытки установки
Результат isWatchFaceActive() — определяет, есть ли у приложения активный циферблат.
Вызывался ли setWatchFaceAsActive() ранее? Приложение Wear OS должно отслеживать и сохранять эту информацию локально. Этот вызов API можно использовать только один раз.
Активация
После установки ответ может указывать на то, что в приложении уже есть активный циферблат. Однако если это не так, приложение может отобразить кнопку для установки циферблата в качестве активного .
Сценарий 1: Все попытки установить активный циферблат исчерпаны
Если ответ от установки указывает на то, что setWatchFaceAsActive() уже вызывался ранее, то кнопка должна вести на экран обучения на телефоне, показывающий пользователю, как нажать и удерживать циферблат, чтобы вручную установить его в желаемое положение.
Сценарий 2. Попробуйте установить активный циферблат
Телефон должен дать команду часам проверить наличие необходимого разрешения SET_PUSHED_WATCH_FACE_AS_ACTIVE :
Если пользователь уже предоставил его , переходите к вызову setWatchFaceAsActive().
Если пользователь ранее отклонил разрешение , часы должны сообщить об этом телефону, на котором может быть отображен обучающий экран с объяснением необходимости разрешения и того, как предоставить его вручную.
Если разрешение не было запрошено ранее , часы должны проинструктировать телефон о необходимости показать обучающий ролик, объясняющий пользователю, как принять разрешения на часах, а затем часы должны продолжить запрашивать разрешение.
Если пользователь дает разрешение, часы должны вызвать setWatchFaceAsActive() .
В противном случае часы должны проинструктировать телефон о необходимости отображения обучающего экрана с объяснением необходимости разрешения и того, как предоставить его вручную.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-29 UTC.
[null,null,["Последнее обновление: 2025-08-29 UTC."],[],[],null,["# Configure your phone app for Watch Face Push\n\nFor the canonical marketplace, the phone app is the predominant way in which\nthe user interacts with the app.\n\nSet a watch face\n----------------\n\nWhen the user selects a watch face in the phone app, there are two parts to the\nsubsequent flow to set the watch face:\n\n1. **Installation:** Install the watch face using Watch Face Push, initiated through `MessageClient`. This step is straightforward, using either `addWatchFace` or `updateWatchFace`, triggered using `MessageClient` from the phone to the watch.\n2. **Activation:** [Set the installed watch face as active](/training/wearables/watch-face-push/wear-os-app#set-watch-face-as-active). This step has several possible paths, depending on the permission state:\n - There may be **no action needed**. The marketplace may already have control of the active watch face.\n - There may be **no user intervention needed** . The app has the necessary permissions to set the active watch face, and can do so directly using `setWatchFaceAsActive()`.\n - There may be **guidance needed**, either as to how to accept permission requests, or how to manually set the watch face using a long-press gesture or through a companion app.\n\nInstallation response\n---------------------\n\nTo facilitate the **Activation** phase, the **Installation** phase should return\nthe following information from the watch to the phone:\n\n- The outcome of the installation attempt\n- The result of `isWatchFaceActive()` - to determine whether the app already has the active watch face.\n- Whether `setWatchFaceAsActive()` has already been called in the past - the Wear OS app should track and persist this information locally. *This API\n call can only be used once.*\n\nActivation\n----------\n\nFollowing the installation, the response may indicate that the app already has\nthe active watch face. However if it does not, then the app may choose to show a\nbutton to **set watch face as active**.\n\n### Scenario 1: All attempts to set the active watch face are exhausted\n\nIf the response from installation indicated that `setWatchFaceAsActive()` had\nalready been called in the past, then the button should lead to an education\nscreen on the phone, showing the user how to touch \\& hold on the watch face to\nmanually set it to the one they want.\n\n### Scenario 2 - Try to set the active watch face\n\nThe phone should instruct the watch to check for the necessary\n`SET_PUSHED_WATCH_FACE_AS_ACTIVE` permission:\n\n- If the user has **already granted it**, proceed to calling setWatchFaceAsActive().\n- If the user has **previously denied the permission**, the watch should communicate this back to the phone, where an education screen can be shown explaining the need for the permission and how to manually grant it.\n- If the **permission has not been requested before**, the watch should\n instruct the phone to show an educational moment guiding the user on how to\n accept permissions on the watch, and the watch should proceed to request the\n permission.\n\n - If the user grants the permission, the watch should then call `setWatchFaceAsActive()`.\n - Otherwise the watch should instruct the phone to show an education screen explaining the need for the permission and how to manually grant it."]]