Zertifizierungsrichtlinien für Audio-Schalter

Vorbereitung auf die Zertifizierung

  • Testgeräte vorbereiten
    • Sie benötigen fünf Android-Geräte.
      • Diese Geräte müssen Folgendes enthalten:
        • Mindestens ein Gerät mit Android T (13) und ein Gerät mit Android V (15).
        • Mindestens ein Samsung- und ein Pixel-Gerät.
        • Beispiel:
          • 1 OnePlus (Android 10)
          • 3 Samsung (Android 11, 12, 13).
          • 1 Pixel (Android 15)
    • Ein Gerät ohne Audio-Wechsel:
      • Ein beliebiges iPhone, ein PC, ein Bluetooth-fähiger Laptop oder ein Android-Smartphone, auf dem der Audio-Wechsel deaktiviert ist.
        • Sie können den Audiowechsel in den Bluetooth-Gerätedetails deaktivieren.
      • Für den Multipoint-Testfall 2.8 ist zusätzlich zu den fünf Test-Smartphones ein Gerät ohne Audio-Wechsel erforderlich.
  • Treten Sie mit Ihren Testkonten der Testgruppe für den Audio-Wechsel bei, damit auf Testsmartphones Debug-Benachrichtigungen angezeigt werden.

    • Außerdem kann Google so Testdaten über Google Analytics erheben.

Klassisch mit A2DP+HFP

  • Auf allen Android-Geräten muss GmsCore-Version 23.xx.xx oder höher installiert sein.

BLE mit LE Audio

  • Mindestens zwei der Referenz-Smartphones müssen LE Audio unterstützen.
    • Zum Beispiel ein Samsung-Smartphone und ein Pixel Smartphone, die LE Audio unterstützen.
  • Auf allen Android-Geräten muss GmsCore-Version 24.33.xx oder höher installiert sein.

Zertifizierungskriterien

  • Die Erfolgsrate für das Umschalten des Ziels muss in allen Testläufen über 95% liegen.
  • Bei Tests, die einen Wechsel erfordern, müssen die Profilverbindung und der aktive Status des Wechsels in mindestens 75 % der Fälle innerhalb von 3 Sekunden nach dem Auslösen von Audioereignissen abgeschlossen sein.

Klassisch mit A2DP+HFP

Selbsttests müssen in den folgenden Kombinationen durchgeführt werden:

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

BLE mit LE Audio

Selbsttests müssen in den folgenden Kombinationen durchgeführt werden:

  • Smartphone A: BT Classic, Smartphone B: BT Classic
  • Smartphone A: LE Audio, Smartphone B: BT Classic
  • Smartphone A: BT Classic, Smartphone B: LE Audio

Optional sollten Anbieter, die Dual LE Audio-Verbindungen unterstützen, Folgendes testen:

  • Smartphone A: LE Audio, Smartphone B: LE Audio

Leitfaden zum Testen

Vorbereitung des Prüflings

  • Prüfe, ob das Bluetooth-Gerät zuvor mit einem Smartphone gekoppelt wurde, auf dem das Google-Testkonto angemeldet ist.
    • Wenn das Gerät mit dem Google-Testkonto gekoppelt wurde, gehen Sie so vor, um die Kopplung aufzuheben:
      • Unter „Gekoppelte Geräte“:
        • Öffne die Bluetooth-Einstellungen.
        • Wählen Sie „Gerät vergessen“ aus.
        • Aktivieren Sie den Flugmodus und deaktivieren Sie ihn anschließend wieder.
    • Die Option „Geräte automatisch speichern“ muss aktiviert sein.
      • Dieser Schalter ist standardmäßig deaktiviert.
      • Sie finden diese Option in den Einstellungen > „Google“ > „Geräte“ > „Gespeicherte Geräte“ (eines pro DUT).
    • Versetzen Sie das Bluetooth-Gerät in den Kopplungsmodus.
    • Koppeln Sie das erste Bluetooth-Gerät (A).
    • Koppeln Sie weitere Bluetooth-Geräte mit anderen Geräten (B, C, D usw.).

Umfang

  • Alle Headsets führen Tests über die verschiedenen Tabs im BT Classic- oder BT LE Audio-Selbsttestbericht aus.
  • Headsets, die nur den SinglePoint-Modus (SP) unterstützen, führen Folgendes aus:
    • Der Tab „Generic_test“
  • Auf Headsets, die den Multipoint-Modus unterstützen, wird Folgendes ausgeführt:
    • Der Tab „Generic_test“
    • Der Tab „Multipoint_only“.
  • MP-Headsets, die in den SP-Modus umgeschaltet werden können, führen Folgendes aus:
    • Der Tab „Generic_test“ mit deaktiviertem MP.
    • Der Tab „Generic_test“ mit aktivierter MP.
    • Der Tab „Multipoint_only“ mit aktivierter MP-Funktion.

Selbsttest und Selbsttestbericht

  • Erstellen Sie eine Kopie des BT Classic- oder BT LE Audio-Selbsttestberichts.
  • Führen Sie alle Testläufe mindestens zweimal aus.
  • Tests sollten in folgender Form ausgeführt werden:

Klassisch mit A2DP+HFP

  • Gerät B ist das Haupt-DUT.
    • Geben Sie die Details von Gerät B in die Felder „Smartphone“ und „Betriebssystem“ oben in der Vorlage ein.

Beispiel für einen Testlauf:

  • Testgeräte:

    • Gerät 1: Samsung (Android 13)
    • Gerät 2: Pixel (Android 12 oder 13) und andere
  • Ausgeführte Tests:

    • Lauf 1 Gerät A=Samsung S10+ (12), Gerät B=Pixel 7 Pro (13) Spalte D: Smartphone=Pixel 7 Pro, Betriebssystem=Android 13
    • Lauf 2 Gerät A=Pixel 7 Pro (13), Gerät B=Pixel 6(12) Spalte E: Smartphone=Pixel 6, Betriebssystem=Android 12

Beispiel für einen abgeschlossenen Test in der Selbsttestvorlage:

Dieses Bild zeigt die Ergebnisse eines Beispieltests.

BLE mit LE Audio

  1. Gerät A=Android V (15) + Gerät B=Android T (13)
  2. Gerät A=Android T (13) + Gerät B=Android V (15)
  3. Gerät A=Android T (13) + Gerät B=Android S (12)
  4. Gerät A=Android T (15) + Gerät B=Android V (15)
  5. Gerät B ist das Haupt-DUT.
    • Geben Sie die Details von Gerät B in die Felder „Smartphone“ und „Betriebssystem“ oben in der Vorlage ein.

Beispiel für einen Testlauf:

  • Testgeräte:

    • Gerät 1: Samsung (Android 13)
    • Gerät 2: Pixel (Android 15) und andere
  • Ausgeführte Tests:

    • [LEA+BT]: Device A= Pixel 8 (15), Device B=Pixel 7 Pro (13) Spalte D: Phone=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]: Gerät A=Pixel 8 (15), Gerät B=Pixel 8(15), Spalte E: Smartphone=Pixel 8, Betriebssystem=Android 15

Beispiel für einen abgeschlossenen Test in der Selbsttestvorlage:

Dieses Bild zeigt die Ergebnisse eines Beispieltests.

Audioereignisse:

  • Die vier Arten von getesteten Audioereignissen und die empfohlenen Test-Apps sind:

    1. Anruf:
      1. Die integrierte Telefon App.
    2. VoIP: Jede VoIP-App funktioniert, z. B.:
      1. Die Test-App für den Audio-Wechsel.
      2. FB Messenger
      3. Linie
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. Media: Jeder beliebige Audioplayer ist geeignet, z. B.:
      1. Die Test-App für den Audio-Wechsel.
      2. YouTube Music
      3. Apple Music
      4. Spotify
      5. Google Podcasts
    4. Spiel:
      1. Die Test-App für den Audio-Wechsel.

Informationen zur Fehlerbehebung:

  • Benachrichtigungen werden aktiviert, nachdem Sie der Gruppe fp-sass-partner-test beigetreten sind. Hier einige Beispiele:

    • Letzte Statusbenachrichtigung:

    Abbildung 1: Hier wird die Benachrichtigung über den aktuellen Status angezeigt.

    • Keine Benachrichtigung über den Wechsel:

    Abbildung 2: Hier sehen Sie die Meldung „Keine Benachrichtigung zum Wechsel“.

    • Benachrichtigung zur Latenz beim Wechseln:

    Abbildung 3: Hier wird die Benachrichtigung zur Switch-Latenz angezeigt.

Latenzmessung

  • Es gibt zwei Arten von Switch-Latenz:
    1. Bluetooth-Profil mit einem getrennten Seeker verbinden
      • Dazu gehören alle SinglePoint-Fälle und einige MP-Fälle, deren Zielgerät (Gerät B) getrennt ist.
    2. Aktiven verbundenen Seeker wechseln
      • Das gilt auch für einige MP-Fälle, in denen das Zielgerät (Gerät B) bereits verbunden ist.
  • Es gibt zwei Möglichkeiten, Latenzinformationen abzurufen:
    1. Die gesamte Latenz kann mit einem ADB-Befehl ausgegeben werden.
      • Weitere Informationen finden Sie im Abschnitt Latenz beim Exportieren.
      • Mit diesem Befehl kann die Latenz nach Abschluss von mindestens einem Testlauf gemessen und aufgezeichnet werden.
    2. Test-App für den Audio-Wechsel verwenden.
      • In der App, die auf dem Ziel-Seeker ausgeführt wird, wird die Latenz nach dem Umschalten angezeigt.
      • Wenn kein Wechsel stattgefunden hat, wird in der App der Grund „Kein Wechsel“ angezeigt.

Test-App für den Audio-Wechsel:

  • Wenn Sie die App verwenden, um während eines Selbsttests VoIP-/Media-/Game-Audioereignisse auszulösen, wird die Einrichtung des Tests vereinfacht und die Ereignislatenz des Seeker wird reduziert.
    • Die aktuelle Version kann hier heruntergeladen werden.
    • Für den LE Audio-VoIP-Test muss eine Richtlinie manuell aktiviert werden: > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • App-Installation:
    • Kopieren Sie die APK auf Ihr Testgerät und öffnen Sie sie.
    • Alternativ können Sie adb install audio_test_app.apk verwenden.
  • Wenn ein Dialogfeld angezeigt wird, in dem Sie um Benachrichtigungszugriff gebeten werden:
    1. Klicken Sie auf „OK“.
    2. Wählen Sie in der App-Liste „FP SASS test“ aus.
    3. Benachrichtigungszugriff erlauben.

App-Übersicht:

Dieses Bild zeigt ein Beispiel für die Ausführung der App.

  • Zielanbieter

    • Wenn Sie auf diese Schaltfläche klicken, wird eine Liste der gekoppelten Bluetooth-Geräte angezeigt. Wählen Sie die gewünschte aus.
    • Die Schaltflächen „Verbinden“ und „Trennen“ funktionieren wie die Schaltfläche in den Gerätedetails der Bluetooth-Einstellungen.
  • Aktueller Stand

    • In diesem Feld wird der letzte Verbindungsstatus angezeigt, den der Seeker von einem Provider über BLE-Advertising oder einen Ereignisstream empfangen hat.
    • Hier werden auch Debug-Benachrichtigungen zum Audio-Wechsel angezeigt.
  • Suchertyp

    • Mit dieser Option kann das Gerät zwischen Audio-Streams wechseln.

Audiotyp

Klassisch mit A2DP+HFP

  • VoIP
    • Wenn Sie diesen Modus auswählen, wird der Audiomodus in AudioManager.MODE_IN_COMMUNICATION geändert und AudioManager.startBluetoothSco aufgerufen. Anschließend wird Audio mit USAGE_VOICE_COMMUNICATION wiedergegeben.
    • Der Streamtyp ist STREAM_VOICE_CALL.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden zu CONNECTED_HFP wechseln.
  • Medien
    • Wenn Sie diesen Modus auswählen, wird Audio wiedergegeben, das AVRCP unterstützt. Der Audiotyp ist: USAGE_MEDIA.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden zu CONNECTED_A2DP_WITH_AVRCP wechseln.
    • Der Verbindungsstatus kann beim Starten oder Beenden kurzzeitig zu CONNECTED_A2DP_ONLY wechseln.
  • Gaming

    • Wenn Sie diesen Modus auswählen, wird Audio wiedergegeben, das AVRCP nicht unterstützt. Der Nutzungstyp für Audio ist: USAGE_GAME.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden in CONNECTED_A2DP_ONLY wechseln.

BLE mit LE Audio

  • VoIP

    • Wenn Sie diesen Modus auswählen, wird der Audiomodus in AudioManager.MODE_IN_COMMUNICATION geändert und Audio wird mit USAGE_VOICE_COMMUNICATION wiedergegeben.
    • Der Streamtyp ist STREAM_VOICE_CALL.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden in CONNECTED_LE_AUDIO_CALL wechseln.
  • Medien

    • Wenn Sie diesen Modus auswählen, wird Audio mit dem Streamtyp STREAM_MUSIC wiedergegeben. Der Audio-Nutzungstyp ist: USAGE_MEDIA.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden zu CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL wechseln.
    • Der Verbindungsstatus kann beim Starten oder Beenden kurz zu CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL wechseln.
  • Gaming

    • Wenn dieser Modus ausgewählt ist, wird Audio wiedergegeben, über das der Nutzer keine direkte Kontrolle hat. Der Audio-Nutzungstyp ist: USAGE_GAME.
    • Der Status der Anbieterverbindung sollte innerhalb von 5 Sekunden zu CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL wechseln.
  • Schaltflächen „Wiedergabe“ und „Stopp“

    • Mit den Schaltflächen „PLAY“ und „STOP“ wird die Audiowiedergabe gestartet oder beendet.
  • Ergebnis des Wechsels

    • In diesem Feld wird die aktive Latenz von Connect and Switch angezeigt. Außerdem wird der Grund für die Ablehnung einer Übertragung angezeigt, wenn ein Audioereignis ausgelöst wurde, die Übertragung aber nicht stattgefunden hat.
    • Die Latenz wird in Millisekunden (ms) gemessen.
    • Die Latenz wird in der Regel vom Start des Audio-Wechsel-Triggers bis zum Empfang des Ereignisses „BT-Profil verbunden“ oder „Multipoint-Wechsel benachrichtigen“ gemessen.
    • Bei vom Anbieter ausgelösten Switches wird die Latenz ab dem Audio-Start gemessen.

Dump-Latenz

  • Mit dem folgenden Befehl kann ein Nutzer Latenzmessungen erfassen, wenn er manuelle Tests ausführt: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Latenzmessungen werden im Bereich NearbyDeviceManagerSwitchHistory angezeigt:
            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"
  • Jede Umschaltung, die GmsCore nicht messen kann (z.B. aktive Umschaltung für HFP), wird mit einer Latenz von 0 ms aufgezeichnet.

Referenz für Logmuster:

Beispiele für Logs aus dem Latenztest

Bekannte Probleme:

Die folgenden bekannten Fehler werden durch den Seeker verursacht:

  1. Falscher Wechsel des Spiel-Audios.
    • Bei Samsung-Smartphones wird der Verbindungsstatus beim Spielen auf CONNECTED_A2DP_WITH_AVRCP anstelle von CONNECTED_A2DP_ONLY festgelegt.
    • Bei einigen Spielen (z. B. Candy Crush) wird möglicherweise Hintergrundmusik wiedergegeben und ein neues Audioereignis ausgelöst, ohne dass eine Nutzereingabe erfolgt. Auf den verbundenen Smartphones kann das Audio ständig auf jedes Smartphone umgeschaltet werden, auf dem das Spiel geöffnet wird.