Профили сопутствующих устройств

Профиль устройства-компаньона, представленный в Android 12, — это функция, позволяющая приложениям-компаньонам запрашивать набор разрешений, специфичный для типа устройства-компаньона, например, умных часов. Использование профиля устройства-компаньона упрощает процесс регистрации, позволяя приложениям отображать на мобильных устройствах пользователям один запрос на запрос определённого набора разрешений вместо нескольких запросов на отдельные разрешения. Это может обеспечить более упрощённую настройку и повысить процент подписки на приложения-компаньоны.

Для использования профилей сопутствующих устройств сопутствующие приложения должны соответствовать следующим требованиям:

  • Управлять сопутствующим устройством (например, умными часами).
  • Иметь функции приложения или вызывать API Android, требующие всех разрешений, определенных для профиля сопутствующего устройства.

Каждый профиль сопутствующего устройства соответствует роли Android. Подробнее о разрешениях и соответствующих ролях Android для каждого профиля см. в разделе «Профили сопутствующих устройств для сторонних приложений» .

Дополнительную информацию о сопутствующих устройствах см. в разделе Сопряжение сопутствующих устройств .

Поведение устройства

В этом разделе описывается поведение устройства при использовании профилей сопутствующих устройств.

Когда пользователь принимает запрос приложения на создание связи с сопутствующим устройством, служба CompanionDeviceManager (CDM) назначает сопутствующему приложению роль профиля устройства (например, часы), предоставляя все разрешения, определённые для этой роли профиля. На рисунке 1 показан пример приложения, запрашивающего разрешения для профиля устройства COMPANION_DEVICE_WATCH .

Подсказка диалогового окна профиля устройства Watch

Рисунок 1. Диалоговое окно запроса разрешений для профиля устройства наблюдения.

Когда пользователь очищает данные пакета в настройках или удаляет все устройства в сопутствующем приложении, CDM отзывает профиль, даже если приложение не запущено в фоновом режиме и не запущена какая-либо служба в фоновом режиме. Отзыв профиля также отзывает все заданные для него разрешения.

После того, как пользователь принимает запрос приложения на предоставление разрешений для конкретного профиля устройства, он может отозвать отдельные предоставленные разрешения. При отзыве разрешения пользователем приложение остаётся связанным с сопутствующим устройством, но некоторые функции могут стать недоступными. Если разрешение требуется для работы приложения, приложение должно запросить его через обычный запрос разрешения .

Профили сопутствующих устройств для сторонних приложений

Смотреть профиль

Профиль часов представлен в Android 12.

В следующей таблице описываются определенные разрешения для профиля устройства COMPANION_DEVICE_WATCH и требования для их использования.

Разрешения Требования к сопутствующему приложению и устройству
Уведомления

POST_NOTIFICATIONS (added in Android 15)
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран, способный отображать уведомления (за исключением устройств, использующих тактильные ощущения вместо экрана)
  • Обеспечивает взаимодействие пользователя с уведомлениями, например, вывод уведомлений с телефона на экран сопутствующего устройства.
  • Отправляет уведомления на телефон для управления устройством. Например, при подключении часов или включении определённой функции.
Phone
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте
  • Обеспечивает удобство совершения телефонных звонков пользователю (сопутствующее приложение объединяет телефонные звонки)
SMS
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран, на котором отображаются SMS-сообщения.
  • Обеспечить удобный для пользователя опыт работы с SMS-сообщениями
Contacts
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Использует контактную информацию как часть процесса звонков или обмена сообщениями
Calendar
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Предоставить пользователю удобный календарь на часах
Nearby devices
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Обеспечить удобный для пользователя процесс сопряжения/подключения на часах
eSIM provisioning
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Обеспечить пользовательский интерфейс, позволяющий управлять услугами абонента от оператора связи с помощью часов
Managing ongoing calls
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте
  • Обеспечивает удобство совершения телефонных звонков пользователю (сопутствующее приложение объединяет телефонные звонки)

Профиль очков

Профиль Glasses представлен в Android 14.

В следующей таблице описываются определенные разрешения для профиля устройства COMPANION_DEVICE_GLASSES и требования для их использования.

Разрешения Требования к сопутствующему приложению и устройству
Уведомления

POST_NOTIFICATIONS
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран, способный отображать уведомления (за исключением устройств, использующих тактильные ощущения вместо экрана)
  • Обеспечивает взаимодействие пользователя с уведомлениями, например, вывод уведомлений с телефона на экран сопутствующего устройства.
  • Публикует уведомления на телефоне для управления устройством, например, при подключении очков или включении определенной функции.
Phone
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте
  • Обеспечивает удобство совершения телефонных звонков пользователю (сопутствующее приложение объединяет телефонные звонки)
SMS
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран, на котором отображаются SMS-сообщения.
  • Обеспечить удобный для пользователя опыт работы с SMS-сообщениями
Contacts
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Использует контактную информацию как часть процесса звонков или обмена сообщениями
Microphone
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Обеспечивает возможность использования микрофона, обращенного к пользователю, на очках
Nearby devices
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет экран дисплея
  • Обеспечивает удобный для пользователя процесс сопряжения/подключения на очках
Managing ongoing calls
  • Подключенное устройство с помощью Bluetooth и/или Wi-Fi
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте
  • Обеспечивает удобство совершения телефонных звонков пользователю (сопутствующее приложение объединяет телефонные звонки)

Выполнение

Для сторонних разработчиков, реализующих сопутствующее приложение, запрашивающее профиль DEVICE_PROFILE_WATCH , выполните следующие действия:

  1. Вызовите метод setDeviceProfile .

  2. Передайте профиль (например, DEVICE_PROFILE_WATCH при построении AssociationRequest ).

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

  1. Получите сертификат с помощью следующей команды:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Замените имя пакета и сертификата, как показано в следующем примере входных данных в файле конфигурации:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Используйте AssociationRequest для создания запроса на ассоциацию с одним сопутствующим устройством.

Проверка

Для проверки поведения функции профиля сопутствующего устройства используйте тесты CTS в cts/tests/tests/companion/ .