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

Профиль сопутствующего устройства, представленный в 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/ .