Wytyczne dotyczące certyfikacji przełącznika dźwięku

Przygotowanie do certyfikacji

  • Przygotuj urządzenia testowe.
    • Potrzebujesz 5 urządzeń z Androidem.
      • Urządzenia te muszą obejmować:
        • Co najmniej 1 urządzenie z Androidem T (13) i 1 urządzenie z Androidem V (15).
        • Co najmniej 1 telefon Samsung i 1 telefon Pixel.
        • Na przykład:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12, 13).
          • 1 Pixel (Android 15).
    • Jedno urządzenie bez przełączania dźwięku:
      • Dowolny iPhone, komputer PC, laptop z Bluetooth (BT) lub telefon z Androidem, na którym wyłączono przełącznik dźwięku.
        • Możesz wyłączyć przełącznik dźwięku w ustawieniach szczegółów urządzenia Bluetooth.
      • Przypadek testowy 2.8 połączenia wielopunktowego wymaga urządzenia bez przełącznika dźwięku oprócz 5 telefonów testowych.
  • Dołącz do grupy testowej przełączania dźwięku za pomocą kont testowych, aby wyświetlać powiadomienia debugowania na telefonach testowych.

    • Umożliwia to też Google zbieranie danych testowych za pomocą Google Analytics.

Classic z A2DP+HFP

  • Sprawdź, czy na wszystkich urządzeniach z Androidem jest zainstalowana usługa GmsCore w wersji 23.xx.xx lub nowszej.

BLE z LE Audio

  • Co najmniej 2 telefony referencyjne muszą obsługiwać LE Audio.
    • Na przykład 1 telefon Samsung i 1 telefon Pixel obsługujące LE Audio.
  • Sprawdź, czy na wszystkich urządzeniach z Androidem jest zainstalowana usługa GmsCore w wersji 24.33.xx lub nowszej.

Kryteria certyfikacji

  • Wskaźnik sukcesu przełączania docelowego musi przekraczać 95% we wszystkich przypadkach testowych.
  • W testach wymagających przełączenia połączenie profilu i aktywny stan przełącznika muszą zostać osiągnięte w ciągu 3 sekund od wywołania zdarzeń audio w co najmniej 75% przypadków.

Classic z A2DP+HFP

Testy samodzielne muszą być przeprowadzane w tych kombinacjach:

  • Telefon A=Android S (12) + Telefon B=Android T (13)
  • Telefon A=Android T (13) + Telefon B=Android S (12)

BLE z LE Audio

Testy samodzielne muszą być przeprowadzane w tych kombinacjach:

  • Telefon A: klasyczny Bluetooth, telefon B: klasyczny Bluetooth
  • Telefon A: LE Audio, telefon B: BT Classic
  • Telefon A: BT Classic, telefon B: LE Audio

Opcjonalnie dostawcy obsługujący podwójne połączenia LE Audio powinni przetestować:

  • Telefon A: LE Audio, telefon B: LE Audio

Przewodnik po testowaniu

Przygotowanie testowanego urządzenia

  • Sprawdź, czy urządzenie Bluetooth nie zostało wcześniej sparowane z żadnym telefonem, na którym zalogowano się na testowe konto Google.
    • Jeśli urządzenie zostało sparowane z testowym kontem Google, wykonaj te czynności, aby usunąć parowanie:
      • Na liście sparowanych urządzeń:
        • Otwórz ustawienia Bluetootha.
        • Wybierz „Zapomnij urządzenie”.
        • Włącz i wyłącz tryb samolotowy.
    • Upewnij się, że opcja „Automatycznie zapisuj urządzenia” jest włączona.
      • Domyślnie ten przełącznik jest WYŁĄCZONY.
      • Tę opcję znajdziesz w sekcji Ustawienia > Google > Urządzenia > Zapisane urządzenia (po jednym na każde urządzenie testowe).
    • Włącz na urządzeniu Bluetooth tryb parowania.
    • Sparuj pierwsze urządzenie Bluetooth (A).
    • Sparuj kolejne urządzenia Bluetooth z innymi urządzeniami (B, C, D itd.).

Zakres

  • Wszystkie słuchawki przeprowadzają testy na różnych kartach raportu autotestu BT Classic lub BT LE Audio.
  • Zestawy słuchawkowe obsługujące tylko tryb SinglePoint (SP) działają w ten sposób:
    • Karta Generic_test.
  • Słuchawki obsługujące tryb MP działają w ten sposób:
    • Karta Generic_test.
    • Karta Multipoint_only.
  • Zestawy słuchawkowe MP, które można przełączyć w tryb SP, działają w ten sposób:
    • Karta Generic_test z wyłączonym MP.
    • Karta Generic_test z włączonym MP.
    • Karta Tylko połączenie wielopunktowe z włączoną funkcją MP.

Wypełnianie formularza Self-Rest i raportu z autotestu

  • Utwórz kopię raportu z autotestu BT Classic lub BT LE Audio.
  • Uruchom wszystkie elementy testowania co najmniej 2 razy.
  • Testy powinny być wykonywane w tej formie:

Classic z A2DP+HFP

  • Urządzenie B będzie głównym urządzeniem testowanym.
    • W polach „Telefon” i „System operacyjny” u góry szablonu wpisz szczegóły urządzenia B.

Przykładowy element testowania:

  • Telefony testowe:

    • Urządzenie 1: Samsung (Android 13)
    • Urządzenie 2: Pixel (Android 12 lub 13) i inne.
  • Wykonane testy:

    • Uruchomienie 1. Urządzenie A=Samsung S10+ (12), Urządzenie B=Pixel 7 Pro (13) kolumna D: Telefon=Pixel 7 Pro, OS=Android 13
    • Bieg 2. Urządzenie A=Pixel 7 Pro (13), Urządzenie B=Pixel 6(12) kolumna E: Telefon=Pixel 6, OS=Android 12

Przykład wypełnionego testu w szablonie testu:

Obraz przedstawiający wyniki przykładowego testu

BLE z LE Audio

  1. Urządzenie A=Android V (15) + Urządzenie B=Android T (13)
  2. Urządzenie A=Android T (13) + Urządzenie B=Android V (15)
  3. Urządzenie A=Android T (13) + Urządzenie B=Android S (12)
  4. Urządzenie A=Android T (15) + Urządzenie B=Android V (15)
  5. Urządzenie B będzie głównym urządzeniem testowanym.
    • W polach „Telefon” i „System operacyjny” u góry szablonu wpisz szczegóły urządzenia B.

Przykładowy element testowania:

  • Telefony testowe:

    • Urządzenie 1: Samsung (Android 13)
    • Urządzenie 2: Pixel (Android 15) i inne.
  • Wykonane testy:

    • [LEA+BT]: Urządzenie A= Pixel 8 (15), Urządzenie B=Pixel 7 Pro (13), kolumna D: Telefon=Pixel 7 Pro, OS=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]: Device A=Pixel 7 pro (13), Device B=Samsung S10+ (12) column E: Phone=Samsung S10+, OS=Android 12
    • [LEA+LEA]: Device A=Pixel 8 (15), Device B=Pixel 8(15) column E: Phone=Pixel 8, OS=Android 15

Przykład wypełnionego testu w szablonie testu:

Obraz przedstawiający wyniki przykładowego testu

Zdarzenia audio:

  • 4 rodzaje testowanych zdarzeń audio i zalecane aplikacje do testowania to:

    1. Zadzwoń:
      1. wbudowanej aplikacji Telefon,
    2. VoIP: działa dowolna aplikacja VoIP, np.:
      1. Aplikacja testowa przełącznika dźwięku.
      2. FB Messenger.
      3. linia,
      4. WhatsApp.
      5. Google Meet.
      6. Google Meet.
    3. Multimedia: dowolny odtwarzacz dźwięku, np.:
      1. Aplikacja testowa przełącznika dźwięku.
      2. YouTube Music.
      3. Apple Music.
      4. Spotify.
      5. Podcastach Google
    4. Mecz:
      1. Aplikacja testowa przełącznika dźwięku.

Dane debugowania:

  • Powiadomienia są włączane po dołączeniu do grupy fp-sass-partner-test. Oto przykłady:

    • Ostatnie powiadomienie o stanie:

    Ilustracja 1. Pokazuje komunikat „latest state notification” (powiadomienie o najnowszym stanie).

    • Brak powiadomienia o przełączeniu:

    Ilustracja 2. Pokazuje komunikat „no switch notification” (brak powiadomienia o przełączeniu).

    • Powiadomienie o opóźnieniu przełączania:

    Ilustracja 3. Komunikat „Powiadomienie o opóźnieniu przełączania”.

Pomiar opóźnienia

  • Istnieją 2 rodzaje opóźnienia przełączania:
    1. Łączenie profilu Bluetooth z odłączonym lokalizatorem.
      • Dotyczy to wszystkich przypadków SinglePoint i niektórych przypadków MP, w których urządzenie B (poszukiwacz) jest odłączone.
    2. Przełączanie aktywnego połączonego urządzenia Seeker.
      • Obejmuje to niektóre przypadki MP, w których urządzenie docelowe (urządzenie B) jest już połączone.
  • Informacje o opóźnieniu możesz uzyskać na 2 sposoby:
    1. Całe opóźnienie można zrzucić za pomocą polecenia adb.
      • Szczegółowe informacje znajdziesz w sekcji Czas oczekiwania na zrzut.
      • To polecenie może podać i zarejestrować opóźnienie po zakończeniu co najmniej jednego przypadku testowego.
    2. Korzystając z aplikacji testowej przełącznika dźwięku.
      • Aplikacja działająca na urządzeniu docelowym wyświetli opóźnienie po przełączeniu.
      • Jeśli nie doszło do przełączenia, aplikacja wyświetli przyczynę „brak przełączenia”.

Aplikacja testowa przełącznika dźwięku:

  • Używanie aplikacji do wywoływania zdarzeń audio VoIP/Media/Game podczas autotestu uprości konfigurację testu i skróci opóźnienie zdarzeń w przypadku osoby poszukującej.
    • Najnowszą wersję możesz pobrać tutaj.
    • Test LE Audio VoIP wymaga ręcznego włączenia zasady: > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • Instalacja aplikacji:
    • Skopiuj plik APK na telefon testowy i otwórz go.
    • Możesz też użyć polecenia adb install audio_test_app.apk.
  • Jeśli zobaczysz okno z prośbą o dostęp do powiadomień:
    1. kliknij „OK”,
    2. Na liście aplikacji wybierz „FP SASS test”.
    3. Zezwól na dostęp do powiadomień.

Omówienie aplikacji:

Ten obraz przedstawia przykładowe działanie aplikacji

  • Usługodawca docelowy

    • Po kliknięciu tego przycisku wyświetli się lista sparowanych urządzeń Bluetooth. Wybierz ten, który chcesz przetestować.
    • Przyciski Połącz i Odłącz działają tak samo jak w szczegółach urządzenia w ustawieniach Bluetootha.
  • Obecny stan

    • To pole pokazuje ostatni stan połączenia, jaki urządzenie wyszukujące otrzymało od dostawcy za pomocą rozgłaszania BLE lub strumienia zdarzeń.
    • Wyświetlane są tu też powiadomienia debugowania przełącznika dźwięku.
  • Typ poszukującego

    • Ta opcja służy do przełączania urządzenia między strumieniami audio.

Typ audio

Classic z A2DP+HFP

  • VoIP
    • Wybranie tego trybu spowoduje zmianę trybu „Tylko dźwięk” na AudioManager.MODE_IN_COMMUNICATION i połączenie AudioManager.startBluetoothSco, a następnie odtwarzanie dźwięku w trybie USAGE_VOICE_COMMUNICATION.
    • Typ transmisji to STREAM_VOICE_CALL.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_HFP w ciągu 5 sekund.
  • Media
    • Wybranie tego trybu spowoduje odtwarzanie dźwięku obsługującego AVRCP. Rodzaj wykorzystania dźwięku to: USAGE_MEDIA.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_A2DP_WITH_AVRCP w ciągu 5 sekund.
    • Po rozpoczęciu lub zatrzymaniu połączenia jego stan może na chwilę zmienić się na CONNECTED_A2DP_ONLY.
  • Gra

    • Wybór tego trybu powoduje odtwarzanie dźwięku, który nie obsługuje AVRCP. Typ wykorzystania dźwięku to: USAGE_GAME.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_A2DP_ONLY w ciągu 5 sekund.

BLE z LE Audio

  • VoIP

    • Wybranie tego trybu spowoduje zmianę trybu „Tylko dźwięk” na AudioManager.MODE_IN_COMMUNICATION i odtwarzanie dźwięku w trybie USAGE_VOICE_COMMUNICATION.
    • Typ transmisji to STREAM_VOICE_CALL.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_LE_AUDIO_CALL w ciągu 5 sekund.
  • Media

    • Wybranie tego trybu spowoduje odtwarzanie dźwięku ze strumieniem typu STREAM_MUSIC. Typ użycia dźwięku to: USAGE_MEDIA.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL w ciągu 5 sekund.
    • Stan połączenia może się na chwilę zmienić na CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL po rozpoczęciu lub zatrzymaniu.
  • Gra

    • Wybór tego trybu powoduje odtwarzanie dźwięku, nad którym użytkownik nie ma bezpośredniej kontroli. Typ użycia dźwięku to: USAGE_GAME.
    • Stan połączenia z dostawcą powinien zmienić się na CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL w ciągu 5 sekund.
  • Przyciski odtwarzania i zatrzymywania

    • Przyciski ODTWÓRZ i ZATRZYMAJ służą do rozpoczynania i zatrzymywania odtwarzania dźwięku.
  • Przełącz wynik

    • To pole wyświetla aktywne opóźnienie połączenia i przełączania. Wyświetla też powód odrzucenia przełączenia, jeśli zdarzenie audio zostało wywołane, ale przełączenie nie nastąpiło.
    • Opóźnienie jest mierzone w milisekundach (ms).
    • Ogólnie rzecz biorąc, opóźnienie jest mierzone od momentu uruchomienia przełącznika dźwięku do momentu otrzymania zdarzenia „Połączono profil BT” lub „Powiadom o przełączeniu wielopunktowym”.
    • Przełączenia zainicjowane przez dostawcę mierzą opóźnienie od początku dźwięku.

Opóźnienie zrzutu

  • Poniższe polecenie umożliwia użytkownikowi rejestrowanie pomiarów opóźnienia podczas przeprowadzania testów ręcznych:adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Pomiary opóźnienia są widoczne w sekcji NearbyDeviceManagerSwitchHistory:
            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"
  • Każde przełączenie, którego GmsCore nie może zmierzyć (np. aktywne przełączenie w przypadku HFP), zostanie zarejestrowane jako opóźnienie 0 ms.

Dokumentacja wzorców logów:

Przykłady logów z testu opóźnienia

Znane problemy:

Oto znane błędy spowodowane przez Seeker:

  1. Nieprawidłowe przełączanie dźwięku w grze.
    • Telefony Samsung będą ustawiać stan połączenia na CONNECTED_A2DP_WITH_AVRCP zamiast CONNECTED_A2DP_ONLY podczas grania w gry.
    • Niektóre gry (np. Candy Crush) mogą odtwarzać muzykę w tle i wywoływać nowe zdarzenie audio bez danych wejściowych użytkownika. Połączone telefony mogą ciągle przełączać dźwięk na każdym telefonie, na którym otwarta jest gra.