Android XR: рекомендации по обеспечению качества приложений и правила для дополненной реальности

Поддерживаемые XR-устройства
Это руководство поможет вам создавать продукты для таких XR-устройств.
Аудио- и
видеоочки

Рекомендации по обеспечению качества приложений для умных очков дополняют основные критерии качества приложений для мобильных устройств.

Эти рекомендации и правила по обеспечению качества приложений сосредоточены на важных мультимодальных взаимодействиях, уникальных для платформы Android XR на умных очках, как описано в определениях уровней совместимости, контрольных списках и правилах для аудиоконтента. Ознакомьтесь с этими разделами, чтобы убедиться, что ваше приложение удобно для пользователей аудио- и видеоочков.

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

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

Совместимый

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

Для этого платформа расширяет стандартные системные поверхности Android на очки. Например, уведомления автоматически появляются в поле зрения пользователя или зачитываются вслух (в случае аудиоочков), чтобы он мог выполнять важные задачи, не доставая телефон.

Дифференцированный

Дифференцированный опыт дополненной реальности специально разработан для очков с использованием всех возможностей Jetpack XR SDK и уникального аппаратного обеспечения этого форм-фактора.

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

  • Jetpack Compose Glimmer – набор инструментов Compose UI для создания минималистичных и понятных интерфейсов, оптимизированных для оптических прозрачных дисплеев.
  • Jetpack Projected. Управляйте ресурсами и легко переносите функции с телефона-компаньона (хоста) на очки (проецируемое устройство).
  • ARCore для Jetpack XR. Получите доступ к расширенным возможностям восприятия, таким как отслеживание устройств и Geospatial API, которые позволяют использовать функции локализации и контекстно-зависимые функции, например навигацию для пешеходов.

Контрольный список для проверки качества приложений с дополненной реальностью

Чтобы ваше приложение было удобно использовать в дополненной реальности, обращайтесь к приведенным ниже контрольным спискам и тестам на совместимость.

Эти контрольные списки и тесты определяют полный набор требований к качеству для большинства типов приложений Android.

Совместимый

Совместимые приложения – это существующие мобильные приложения Android, которые автоматически работают на очках, используя стандартные поверхности Android (например, стандартные уведомления и уведомления в реальном времени). Для этого уровня совместимости не требуется специальный код для очков.

Приложение должно соответствовать следующим основным требованиям:

  • Уведомления. Убедитесь, что все уведомления, требующие действий или срочные, используют стандартные API NotificationManager Android. Это позволит платформе правильно преобразовывать их в аудиосообщения (на аудиоустройствах) или минималистичные визуальные оверлеи (на устройствах с дисплеем).
  • Обновления в реальном времени. Если в приложении есть текущая активность (например, задачи, связанные с прогрессом), оно должно использовать стандартную платформу уведомлений об обновлениях в реальном времени, чтобы платформа могла отображать эту информацию в удобном для просмотра виде без помощи рук.
  • Google Play. Приложение должно соответствовать всем действующим правилам Android и Google Play. Совместимость определяется автоматически на основе деклараций манифеста и требований к функциям.

Дифференцированный

Дифференцированные приложения создаются с помощью Jetpack XR SDK (с такими библиотеками, как Jetpack Compose Glimmer, Jetpack Projected и ARCore для Jetpack XR), чтобы обеспечить высокую оптимизацию и учет окружения или использовать уникальные возможности дополненной реальности. Ознакомьтесь с требованиями, которые относятся к вашему приложению.

Категория Район Руководство

Основные функции

Начать активность на очках У пользователя должна быть возможность запускать и контролировать работу функций непосредственно из мобильного приложения, особенно при первоначальной настройке или навигации по большому объему информации, прежде чем передавать управление аудиоустройствам и видеоочкам, у которых меньше возможностей UX.
Команда "Открыть приложение" Приложения должны быть настроены так, чтобы при запуске на очках с Gemini они сразу переходили в режим готовности к действию, минуя традиционные меню. Например, когда пользователь произносит команду "Открыть [приложение]", оно должно сразу переходить в фоновый аудиорежим, режим прослушивания или подавать звуковой сигнал.
Запуск камеры Доступ к камере можно получить через точку входа или действие на мобильном устройстве, а также с помощью жеста для запуска камеры. Если доступ к камере инициирован с мобильного устройства, пользователь должен услышать обратный отсчет перед началом трансляции с камеры.
Понятность и единообразие (жесты) Жесты (например, голосовые команды, нажатия или пролистывания) должны быть реализованы понятным и единообразным образом, соответствующим ожиданиям пользователей в отношении распространенных взаимодействий. Основные правила в отношении жестов описаны в соответствующих разделах ниже.

Производительность и стабильность

Батарея Оптимизируйте фоновые процессы в соответствии с ограничениями Android для фоновых задач и сведите к минимуму использование энергоемких датчиков (например, видеопотока с камеры), когда они не используются активно.
Частота кадров и разрешение камеры Доступ к видеопотоку с камеры должен быть настроен так, чтобы использовать наиболее эффективную конфигурацию (самую низкую частоту кадров и разрешение) для конкретного случая использования. Дополнительную информацию о рекомендуемых конфигурациях для каждого варианта использования можно найти в руководстве для разработчиков.
Безопасность Безопасность Продукты должны быть разработаны с учетом действий, инициированных пользователем, и строго минимизировать отвлечение пользователя от его непосредственного окружения, особенно во время движения или в общественных местах.
Конфиденциальность и безопасность Разрешения Приложение должно запрашивать разрешения, относящиеся к очкам, для доступа к оборудованию (например, камере или микрофону). Для этого нужно использовать API запроса разрешений и обрабатывать перенаправление на основное устройство для получения согласия пользователя.

Общие правила

Специальные возможности Учитывайте потребности разных пользователей и по возможности предлагайте альтернативные способы ввода, например голосовые команды вместо жестов на сенсорной панели.
Тестирование Тщательно протестируйте все жесты и визуальные элементы в разных сценариях использования, при разном освещении и в разных условиях окружающей среды, используя эмулятор Android XR и предварительный просмотр composable-функций.
Google Play Правила Соблюдайте все правила Google Play, в том числе правила для умных очков, описанные в следующих разделах. Они помогают защищать конфиденциальность и благополучие пользователей.

Аудиоконтент

Голосовые оповещения

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

Для последующих действий и более глубоких разговоров следует явно использовать агента в приложении или Gemini.

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

Правила для аудиоконтента

Чтобы обеспечить безопасность и уважительное отношение к пользователям умных очков, все приложения должны соответствовать требованиям, изложенным в правилах ниже.

Безопасность приложений

Напоминаем, что все приложения, распространяемые через Google Play, должны соответствовать правилам для разработчиков приложений в Google Play.

Строго запрещены следующие действия, а также их продвижение и содействие им:

  • Доксинг
  • Распознавание лиц или биометрическая идентификация
  • Наблюдение
  • Создание или распространение материалов сексуального характера без согласия присутствующих в них лиц (NCII).

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

Безопасность камеры

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

Ограничения для фото и видео

Разрешенные взаимодействия

Описание

Видеовстречи

Приложениям разрешено использовать датчики камеры носимого устройства для видеовызовов.

Распознавание сцен и окружающих условий

Приложениям разрешено использовать датчики носимых камер для визуального распознавания или распознавания сцены.

Запрещенные взаимодействия

Описание

Прямые трансляции в социальных сетях и общедоступные трансляции

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

Распознавание лиц в реальном времени и доксинг

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

Создание материалов сексуального характера без согласия присутствующих в них лиц (NCII) или противозаконного контента

Приложения не должны использовать датчики камеры для создания материалов сексуального характера без согласия присутствующих в них лиц (NCII) или любого противозаконного контента, например представляющего несовершеннолетних в сексуальном контексте.

Безопасность аудио

Приложения, использующие микрофонную решетку, должны уважать конфиденциальность окружающих и соответствовать следующим требованиям:

Запрещенные взаимодействия

Описание

Постоянное подслушивание

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

Распознавание речи

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

Программное подавление или изменение

Приложения не должны изменять или отключать системные шумоподавители. Приложения не должны побуждать пользователей изменять или отключать шумоподавление.

Жесты и ввод

В этих правилах изложены требования к реализации событий жестов на очках во время работы только со звуком. Следуйте этим рекомендациям, чтобы обеспечить единообразное и интуитивно понятное взаимодействие с пользователем в различных приложениях и на устройствах Android XR. Если у приложения есть аудиофокус, все входные данные должны обрабатываться независимо от того, активно ли оно.

1. Жест касания

Нажатие – это быстрое однократное касание сенсорной панели. Нажатие – это способ, с помощью которого пользователь выполняет действие в очках. Это может запустить воспроизведение аудио, например, чтобы предоставить информацию на основе состояния пользователя или повторить последнее звуковое сообщение. Если воспроизводится аудио, нажатие может приостановить или остановить его.

Примеры
Разрешенные взаимодействия Описание

Воспроизвести подходящую подсказку

Предоставьте пользователю необходимую информацию, например:

  • Запрос разрешений пользователя.
  • Информация о текущем состоянии пользователя. Например, "Справа от вас мост Золотые Ворота".
  • Повторение последнего голосового сообщения, предоставленного пользователю.

Если нажать на экран во время воспроизведения аудио, оно остановится.

Включить или выключить микрофон

Позволяет пользователям включать и отключать микрофон нажатием, когда они находятся в среде, где используется микрофон.

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

Запрещенные взаимодействия Описание

Нерелевантная информация или реклама

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

Ввод данных в играх и быстрые непрерывные действия

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

Содействие преступлениям, насилию или причинению себе вреда

Жест касания не должен запускать инструкции, которые способствуют незаконным или вредным действиям, таким как экстремистская разведка, создание оружия или самоповреждение.

2. Жест для управления камерой

Жест действия камеры – это два быстрых нажатия кнопки камеры. Приложения, которые получают доступ к камере, должны обрабатывать это событие как действие камеры, которое предоставляет данные датчиков напрямую приложению.

Примеры
Разрешенные взаимодействия Описание

Предоставьте приложению доступ к камере

Запускать трансляцию с камеры в приложении. Это включает активацию трансляции с камеры для съемки фото и видео или обработку видеопотока с камеры в фоновом режиме.

Использование видео с камеры должно соответствовать всем правилам Android, связанным с записью с камеры и микрофона, а также правилам в отношении пользовательских данных в Центре правил для разработчиков Google Play. Кроме того, согласно правилам в отношении издевательств и домогательств запрещены приложения, которые занимаются доксингом или публично эксплуатируют других.

Запрещенные взаимодействия Описание

Пользовательские настройки ввода и переназначение клавиш

Двойное нажатие кнопки камеры должно использоваться исключительно для активации трансляции с камеры и передачи данных датчиков напрямую в приложение. Нельзя переназначать этот аппаратный жест на функции, не связанные с камерой, пользовательские ярлыки или альтернативные возможности приложения.

Использование отключенных или фиктивных датчиков

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

Отсутствие уведомления или вводящее в заблуждение использование

Если для активации камеры используется двойное нажатие, вы должны заранее объяснить пользователю, как именно будет использоваться камера. Это нужно сделать в мобильном приложении при первоначальном предоставлении разрешения или настройке приложения. Например, это может быть прямая трансляция, съемка фото или ИИ-обработка. Видео с камеры нельзя использовать для функций, на которые пользователь не дал явного согласия.

3. Жест назад одним пальцем

Жест назад одним пальцем – это непрерывное движение назад по сенсорной панели. Система поддерживает этот жест даже во время работы с аудио, вызывая onBack(). Приложение должно обрабатывать это событие, закрывая текущий экран или возвращая пользователя к предыдущему состоянию приложения.

Запрещенные взаимодействия Описание

Перехват команды выхода

Жест назад должен всегда вызывать onBack(), чтобы закрыть приложение или вернуть пользователя к предыдущему состоянию приложения. Ее нельзя сопоставлять с настраиваемыми действиями, запуском новых медиафайлов или рекламой.

Ложные выходы (скрытое прослушивание)

Приложения должны закрываться или приостанавливать использование основного датчика, когда пользователь выполняет этот жест. Не имитируйте выход из приложения, тайно оставляя активными датчики в фоновом режиме для слежки.

Поведение светодиодных индикаторов

Приложение не должно менять поведение светодиодных индикаторов в зависимости от доступа к микрофону и камере.

Запрещенные взаимодействия Описание

Программное подавление или изменение

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

Обход средств обнаружения вмешательства и взлома

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