Руководство по сертификации переключателя звука

Подготовка к сертификации

  • Подготовьте тестовые устройства.
    • Вам понадобится пять устройств Android.
      • Эти устройства должны включать:
        • Хотя бы одно устройство с Android T (13) и одно с Android V (15).
        • Как минимум одно устройство Samsung и одно устройство Pixel.
        • Например:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12, 13).
          • 1 Pixel (Android 15).
    • Одно устройство без поддержки Audio Switch:
      • Любой iPhone, ПК, ноутбук с поддержкой Bluetooth или телефон Android, на котором отключено переключение звука.
        • Вы можете отключить переключение звука в настройках устройства Bluetooth.
      • Для теста 2.8 многоточечного подключения в дополнение к пяти тестовым телефонам требуется устройство без переключения звука.
  • Чтобы на тестовых телефонах показывались уведомления об отладке, добавьте тестовые аккаунты в группу тестирования переключения аудио.

    • Это также позволит Google собирать тестовые данные через Google Аналитику.

Classic с A2DP+HFP

  • Убедитесь, что на всех устройствах Android установлена версия GmsCore 23.xx.xx или более поздняя.

BLE с LE Audio

  • По крайней мере два из них должны поддерживать LE Audio.
    • Например, один телефон Samsung и один телефон Pixel с поддержкой LE Audio.
  • Убедитесь, что на всех устройствах Android установлена версия GmsCore 24.33.xx или более поздняя.

Критерии сертификации

  • Доля успешных переключений между целями должна превышать 95 % во всех тестовых сценариях.
  • В тестах, требующих переключения, подключение профиля и активное состояние переключения должны завершаться в течение 3 секунд после запуска аудиособытий как минимум в 75 % случаев.

Classic с A2DP+HFP

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

  • Телефон A=Android S (12) + Телефон B=Android T (13)
  • Телефон A=Android T (13) + Телефон B=Android S (12)

BLE с LE Audio

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

  • Телефон A: BT Classic, телефон B: BT Classic
  • Телефон A: LE Audio, телефон B: BT Classic
  • Телефон A: BT Classic, телефон B: LE Audio

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

  • Телефон A: LE Audio, телефон B: LE Audio

Руководство по тестированию

Подготовка тестируемого устройства

  • Убедитесь, что Bluetooth-устройство ранее не подключалось к телефону, на котором выполнен вход в тестовый аккаунт Google.
    • Если устройство было подключено к тестовому аккаунту Google, выполните следующие действия:
      • В списке подключенных устройств:
        • Перейдите в настройки Bluetooth.
        • Выберите "Забыть устройство".
        • Включите и отключите режим полета.
    • Убедитесь, что параметр "Сохранять устройства автоматически" включен.
      • По умолчанию переключатель находится в положении "Выключено".
      • Этот параметр можно найти в разделе "Настройки > Google > Устройства > Сохраненные устройства" (по одному на каждое тестируемое устройство).
    • Переведите устройство Bluetooth в режим подключения.
    • Подключите первое устройство Bluetooth (A).
    • Подключите другие устройства Bluetooth к другим устройствам (Б, В, Г и т. д.).

Область действия

  • Для всех гарнитур выполняются тесты из разных вкладок отчета о самотестировании BT Classic или BT LE Audio.
  • Гарнитуры, поддерживающие только режим SinglePoint (SP), выполняют следующие действия:
    • Вкладка Generic_test.
  • На гарнитурах, поддерживающих режим MP, выполняются следующие действия:
    • Вкладка Generic_test.
    • Вкладка Multipoint_only.
  • На гарнитурах MP, которые можно переключить в режим SP, выполняется следующее:
    • Вкладка Generic_test с отключенным MP.
    • Вкладка Generic_test с включенным MP.
    • Вкладка Multipoint_only с включенным многоточечным подключением.

Завершение самотестирования и отчет о нем

  • Создайте копию отчета о самотестировании BT Classic или BT LE Audio.
  • Выполните все тестовые сценарии как минимум дважды.
  • Тесты должны выполняться в следующем формате:

Classic с A2DP+HFP

  • Устройство B будет основным тестируемым устройством.
    • В верхней части шаблона введите сведения об устройстве B в поля "Телефон" и "ОС".

Пример тестового примера:

  • Тестовые телефоны:

    • Устройство 1: Samsung (Android 13)
    • Устройство 2: Pixel (Android 12 или 13) и другие.
  • Выполненные тесты:

    • Выполните следующие действия: Устройство A=Samsung S10+ (12), устройство B=Pixel 7 Pro (13) Столбец D: телефон=Pixel 7 Pro, ОС=Android 13
    • Попытка 2. Устройство A – Pixel 7 Pro (13), устройство B – Pixel 6(12) Столбец E: телефон – Pixel 6, ОС – Android 12

Пример заполненного шаблона самотестирования:

На этом изображении показаны результаты примера тестирования

BLE с LE Audio

  1. Устройство A=Android V (15) + Устройство B=Android T (13)
  2. Устройство A=Android T (13) + Устройство B=Android V (15)
  3. Устройство A=Android T (13) + Устройство B=Android S (12)
  4. Устройство A=Android T (15) + Устройство B=Android V (15)
  5. Устройство B будет основным тестируемым устройством.
    • В верхней части шаблона введите сведения об устройстве B в поля "Телефон" и "ОС".

Пример тестового примера:

  • Тестовые телефоны:

    • Устройство 1: Samsung (Android 13)
    • Устройство 2: Pixel (Android 15) и другие.
  • Выполненные тесты:

    • [LEA+BT]: устройство A – Pixel 8 (15), устройство B – Pixel 7 Pro (13). Столбец D: телефон – Pixel 7 Pro, ОС – Android 13.
    • [BT+LEA]: Device A=Pixel 7 (13), Device B=Pixel 8 (Android 15) column E: Phone=Pixel 8, OS=Android 15
    • [BT+BT]: устройство A – Pixel 7 Pro (13), устройство B – Samsung S10+ (12) E: телефон – Samsung S10+, ОС – Android 12
    • [LEA+LEA]: устройство A – Pixel 8 (15), устройство B – Pixel 8(15). Столбец E: телефон – Pixel 8, ОС – Android 15.

Пример заполненного шаблона самотестирования:

На этом изображении показаны результаты примера тестирования

События аудиокреативов:

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

    1. Позвонить:
      1. Встроенное приложение "Телефон".
    2. VoIP: любое приложение для IP-телефонии, например:
      1. Тестовое приложение для переключателя звука.
      2. Facebook Messenger.
      3. Линейная.
      4. WhatsApp.
      5. Google Meet
      6. Google Meet
    3. Медиафайлы. Подойдет любой аудиопроигрыватель, например:
      1. Тестовое приложение для переключателя звука.
      2. YouTube Music.
      3. Apple Music.
      4. Spotify.
      5. (например, в Google Подкастах)
    4. Игра:
      1. Тестовое приложение для переключателя звука.

Сведения для отладки:

  • Уведомления будут включены после присоединения к группе fp-sass-partner-test. Вот несколько примеров:

    • Последнее уведомление о статусе:

    Рисунок 1. Уведомление о последнем состоянии.

    • Нет уведомления о переключении:

    Рисунок 2. Уведомление о том, что переключение не выполнено.

    • Уведомление о задержке переключения:

    Рисунок 3. Уведомление о задержке при переключении.

Измерение задержки

  • Существует два типа задержки переключения:
    1. Подключение профиля Bluetooth к отключенному Искателю.
      • Это относится ко всем случаям SinglePoint и некоторым случаям MP, когда целевое устройство (устройство B) отключено.
    2. Переключение активного подключенного устройства Seeker.
      • Это касается некоторых случаев, когда целевое устройство (устройство B) уже подключено.
  • Получить информацию о задержке можно двумя способами:
    1. Все задержки можно сбросить с помощью команды adb.
      • Подробную информацию вы найдете в разделе Задержка при выгрузке.
      • Эта команда может предоставить и записать задержку после завершения хотя бы одного тестового примера.
    2. Используйте приложение для тестирования переключателя звука.
      • Приложение, запущенное на целевом устройстве Seeker, будет показывать задержку после переключения.
      • Если перенос не был выполнен, в приложении будет указана причина.

Тестовое приложение для переключателя звука:

  • Использование приложения для запуска событий VoIP, медиа и игрового аудио во время самотестирования упростит настройку теста и уменьшит задержку событий Seeker.
    • Последнюю версию можно скачать здесь.
    • Для теста LE Audio VoIP нужно вручную включить правило: > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • Установка приложения:
    • Скопируйте APK-файл на тестовый телефон и откройте его.
    • Или используйте adb install audio_test_app.apk.
  • Если вы видите диалоговое окно с запросом на доступ к уведомлениям:
    1. Нажмите "ОК".
    2. Выберите FP SASS test в списке приложений.
    3. Разрешите доступ к уведомлениям.

Обзор приложения

На этом изображении показан пример работы приложения.

  • Целевой поставщик

    • При нажатии на эту кнопку будет показан список подключенных устройств Bluetooth. Выберите нужный вариант.
    • Кнопки "Подключить" и "Отключить" работают так же, как и в настройках Bluetooth.
  • Текущее состояние

    • В этом поле указано последнее состояние подключения, полученное Искателем от Поставщика с помощью объявления BLE или потока событий.
    • Здесь также показываются уведомления об отладке переключения аудио.
  • Тип соискателя

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

Тип аудио

Classic с A2DP+HFP

  • VoIP
    • Если выбрать этот режим, режим аудио изменится на AudioManager.MODE_IN_COMMUNICATION, а режим звонка – на AudioManager.startBluetoothSco. Затем будет воспроизведено аудио с помощью USAGE_VOICE_COMMUNICATION.
    • Тип потока: STREAM_VOICE_CALL.
    • Статус подключения поставщика должен измениться на CONNECTED_HFP в течение пяти секунд.
  • Медиа
    • При выборе этого режима будет воспроизводиться аудио с поддержкой AVRCP. Тип использования аудио: USAGE_MEDIA.
    • Статус подключения поставщика должен измениться на CONNECTED_A2DP_WITH_AVRCP в течение пяти секунд.
    • При запуске или остановке статус подключения может ненадолго измениться на CONNECTED_A2DP_ONLY.
  • Игры

    • При выборе этого режима воспроизводится аудио, которое не поддерживает AVRCP. Тип использования аудио: USAGE_GAME.
    • Статус подключения поставщика должен измениться на CONNECTED_A2DP_ONLY в течение пяти секунд.

BLE с LE Audio

  • VoIP

    • Если вы выберете этот режим, режим "Только аудио" изменится на AudioManager.MODE_IN_COMMUNICATION, а звук будет воспроизводиться с помощью USAGE_VOICE_COMMUNICATION.
    • Тип потока: STREAM_VOICE_CALL.
    • Статус подключения поставщика должен измениться на CONNECTED_LE_AUDIO_CALL в течение пяти секунд.
  • Медиа

    • При выборе этого режима аудио будет воспроизводиться с типом потока STREAM_MUSIC. Тип использования аудио: USAGE_MEDIA.
    • Статус подключения поставщика должен измениться на CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL в течение пяти секунд.
    • При запуске или остановке статус подключения может ненадолго измениться на CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL.
  • Игры

    • В этом режиме воспроизводится аудио, которым пользователь не может управлять напрямую. Тип использования аудио: USAGE_GAME.
    • Статус подключения поставщика должен измениться на CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL в течение пяти секунд.
  • Кнопки воспроизведения и остановки

    • Кнопки "Воспроизвести" и "Остановить" запускают и останавливают воспроизведение аудио.
  • Результат переключения

    • В этом поле показана задержка при подключении и переключении. Если аудиособытие было активировано, но переключение не произошло, в этом разделе также указывается причина.
    • Задержка измеряется в миллисекундах (мс).
    • Обычно задержка измеряется от начала триггера переключения аудио до получения события подключения профиля Bluetooth или уведомления о многоточечном переключении.
    • При переключении, инициированном поставщиком, задержка измеряется с момента начала воспроизведения аудио.

Задержка при сбросе

  • Следующая команда позволяет пользователю фиксировать задержку при выполнении ручных тестов: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Результаты измерений задержки показаны в разделе SwitchHistory инструмента NearbyDeviceManager:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • Любое переключение, которое GmsCore не может измерить (например, активное переключение для HFP), будет записано как задержка 0 мс.

Справочник по шаблонам журналов:

Примеры журналов теста задержки

Известные проблемы

Ниже перечислены известные ошибки, вызванные Искателем.

  1. Неправильное переключение звука в игре.
    • На телефонах Samsung во время игр будет устанавливаться статус подключения CONNECTED_A2DP_WITH_AVRCP вместо CONNECTED_A2DP_ONLY.
    • Некоторые игры (например, Candy Crush) могут воспроизводить фоновую музыку и запускать новое аудиособытие без участия пользователя. Подключенные телефоны могут постоянно переключать звук на каждом телефоне, на котором открыта игра.