Zertifizierungsrichtlinien für Audiowechsel

Vorbereitung auf die Zertifizierung

  • Testgeräte vorbereiten
    • Sie benötigen fünf Android-Geräte.
      • Diese Geräte müssen Folgendes enthalten:
        • Mindestens ein Android T (13) und ein 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, bei dem der Audio-Wechsel deaktiviert ist
        • Sie können den Audio-Wechsel in den Details des Bluetooth-Geräts deaktivieren.
      • Für den Multipoint-Testlauf 2.8 ist zusätzlich zu den 5 Test-Smartphones ein Gerät ohne Audio-Switch erforderlich.
  • Tritt der Testgruppe für Audio-Wechsel mit deinen Testkonten bei, um Debug-Benachrichtigungen auf Test-Smartphones anzuzeigen.

    • So kann Google auch 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 Referenztelefone müssen LE Audio unterstützen.
    • Beispielsweise ein Samsung-Smartphone und ein Pixel, die LE Audio unterstützen.
  • Auf allen Android-Geräten muss GmsCore-Version 24.33.xx oder höher installiert sein.

Zertifizierungskriterien

  • Die Erfolgsquote des Ziel-Wechsels muss in allen Testläufen 95% überschreiten.
  • Bei Tests, die einen Switch erfordern, müssen die Profilverbindung und der aktive Status 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 für Tests

Vorbereitung des DUTs (Device Under Test, DUT)

  • Prüfen Sie, ob das BT-Gerät zuvor mit einem Smartphone gekoppelt war, das im Test-Google-Konto angemeldet ist.
    • Wenn das Gerät mit dem Google-Testkonto gekoppelt wurde, können Sie die Kopplung so löschen:
      • Auf den gekoppelten Geräten:
        • Rufe die Bluetooth-Einstellungen auf.
        • Wähle „Gerät entfernen“ 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 AUS.
      • Sie finden diese Option unter „Einstellungen“ > „Google“ > „Geräte“ > „Gespeicherte Geräte“ (ein Gerät pro DUT).
    • Versetzen Sie das Bluetooth-Gerät in den Kopplungsmodus.
    • Koppel das erste Bluetooth-Gerät (A).
    • Koppeln Sie nachfolgende Bluetooth-Geräte mit anderen Geräten (B, C, D usw.).

Umfang

  • Bei allen Headsets werden Tests auf den verschiedenen Tabs in der Vorlage zum automatischen Audiowechsel ausgeführt.
  • Auf Headsets, die nur den SinglePoint-Modus (SP) unterstützen, wird Folgendes ausgeführt:
    • Den Tab „Generic_test“.
  • Auf Headsets, die den MP-Modus unterstützen, muss Folgendes ausgeführt werden:
    • Den Tab „Generic_test“.
    • Den Tab „Nur Multipoint“.
  • Bei MP-Headsets, die in den SP-Modus umgeschaltet werden können, wird Folgendes ausgeführt:
    • Der Tab „Generic_test“ mit ausgeschaltetem MP.
    • Der Tab „Generic_test“ mit aktivierter MP
    • Der Tab „Nur Multipoint“ mit aktivierter Multipoint-Funktion

Erstellen des Selbstruhe- und Selbsttestberichts

Klassisch mit A2DP+HFP

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

Beispiel für einen Testfall:

  • Testtelefone:

    • Gerät 1: Samsung (Android 13)
    • Gerät 2: Pixel (Android 12 oder 13) und weitere Geräte
  • 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 Vorlage für Selbsttests:

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 der Haupt-DUT.
    • Geben Sie die Details zu Gerät B in die Felder „Smartphone“ und „Betriebssystem“ oben in der Vorlage ein.

Beispiel für einen Testfall:

  • Testtelefone:

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

    • [LEA + BT]: Gerät A= Pixel 8 (15), Gerät B=Pixel 7 Pro (13) Spalte D: Smartphone=Pixel 7 Pro, Betriebssystem=Android 13
    • [BT+LEA]: Spalte „Gerät A=Pixel 7 (13), Gerät B=Pixel 8 (Android 15)“ E: Smartphone=Pixel 8, Betriebssystem=Android 15
    • [BT+BT]: Spalte „Gerät A=Pixel 7 Pro (13), Gerät B=Samsung S10+ (12)“ E: Smartphone=Samsung S10+, Betriebssystem=Android 12
    • [LEA+LEA]: Gerät A=Pixel 8 (15), Gerät B=Pixel 8 (15) Spalte E: Smartphone=Pixel 8, Betriebssystem=Android 15

Ein Beispiel für einen abgeschlossenen Test in der Selbsttestvorlage:

Dieses Bild zeigt die Ergebnisse eines Beispieltests.

Audioereignisse:

  • Es gibt vier Arten getesteter Audioereignisse und empfohlene Test-Apps:

    1. Anruf:
      1. Integrierte Smartphone-App
    2. VoIP: Alle VoIP-Apps funktionieren, 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. Medien: Jeder Audioplayer funktioniert, z. B.:
      1. Test-App „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:

    • Letzter Status:

    Abbildung 1: Hier sehen Sie die Benachrichtigung zum aktuellen Status.

    • Keine Benachrichtigung über den Wechsel:

    Abbildung 2: Die Meldung „Benachrichtigung beim Wechsel“

    • Benachrichtigung zur Latenz des Schalters:

    Abbildung 3: Hier sehen Sie die Benachrichtigung „Switch Latency Notification“.

Latenzmessung

  • Es gibt zwei Arten von Schalterlatenz:
    1. Verbinden eines Bluetooth-Profils mit einem nicht verbundenen Seeker.
      • Dazu gehören alle SinglePoint-Fälle und einige MP-Fälle, bei denen der Ziel-Sucher (Gerät B) getrennt ist.
    2. Der Seeker mit aktiver Verbindung wird gewechselt.
      • Dazu gehören auch einige MP-Fälle, bei denen der Zielsuchende (Gerät B) bereits verbunden ist.
  • Es gibt zwei Möglichkeiten, Latenzinformationen abzurufen:
    1. Die gesamte Latenz kann mit dem Befehl „adb“ ausgegeben werden.
      • Weitere Informationen finden Sie im Abschnitt Dumplatenz.
      • Dieser Befehl kann die Latenz bereitstellen und aufzeichnen, nachdem mindestens ein Testlauf abgeschlossen wurde.
    2. Mit der Test-App für den Audio-Wechsel.
      • In der App, die auf dem Ziel-Sucher ausgeführt wird, wird nach dem Wechsel eine Latenz angezeigt.
      • Wenn kein Wechsel stattgefunden hat, wird in der App der Grund „Kein Wechsel“ angezeigt.

Test-App für Audio-Wechsel:

  • Wenn Sie die App verwenden, um VoIP-/Medien-/Spielaudioereignisse während eines Selbsttests auszulösen, wird die Testeinrichtung vereinfacht und die Ereignislatenz des Suchers reduziert.
    • Die aktuelle Version können Sie hier herunterladen.
    • 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 Testtelefon und öffnen Sie sie.
    • Alternativ können Sie adb install audio_test_app.apk verwenden.
  • Wenn Sie ein Dialogfeld sehen, in dem Sie um den Benachrichtigungszugriff gebeten werden:
    1. Klicken Sie auf „OK“.
    2. Wählen Sie in der App-Liste „FP SASS-Test“ aus.
    3. Benachrichtigungszugriff zulassen.

App-Übersicht:

Dieses Bild zeigt ein Beispiel für die ausgeführte App

  • Zielanbieter

    • Wenn auf diese Schaltfläche geklickt wird, wird eine Liste der gekoppelten Bluetooth-Geräte angezeigt. Wählen Sie das Modell aus, das Sie testen möchten.
    • Die Schaltflächen zum Verbinden und Trennen funktionieren wie die Schaltflächen in den Gerätedetails der Bluetooth-Einstellungen.
  • Aktueller Status

    • In diesem Feld wird der letzte Verbindungsstatus angezeigt, den der Seeker von einem Anbieter mithilfe von BLE Advertising oder einem Ereignisstream empfangen hat.
    • Hier werden auch Benachrichtigungen zur Fehlerbehebung für den Audio-Schalter angezeigt.
  • Suchertyp

    • Mit dieser Option können Sie auf dem Gerät zwischen Audiostreams 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 Verbindungsstatus des Anbieters sollte innerhalb von 5 Sekunden zu CONNECTED_HFP wechseln.
  • Medien
    • Wenn Sie diesen Modus auswählen, wird Audio mit Unterstützung von AVRCP wiedergegeben. Die Art der Audionutzung lautet: USAGE_MEDIA.
    • Der Verbindungsstatus des Anbieters sollte innerhalb von 5 Sekunden zu CONNECTED_A2DP_WITH_AVRCP wechseln.
    • Der Verbindungsstatus kann beim Starten oder Beenden kurz in CONNECTED_A2DP_ONLY wechseln.
  • Spiel
    • Wenn Sie diesen Modus auswählen, wird Audio wiedergegeben, das AVRCP nicht unterstützt. Der Audionutzungstyp ist USAGE_GAME.
    • Der Verbindungsstatus des Anbieters sollte innerhalb von 5 Sekunden zu CONNECTED_A2DP_ONLY wechseln.

BLE mit LE Audio

  • VoIP

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

    • Wenn Sie diesen Modus auswählen, wird Audio mit dem Streamtyp STREAM_MUSIC wiedergegeben. Der Audionutzungstyp ist USAGE_MEDIA.
    • Der Verbindungsstatus des Anbieters sollte innerhalb von 5 Sekunden zu CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL wechseln.
    • Der Verbindungsstatus kann beim Starten oder Beenden kurz in CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL wechseln.
  • Spiel

    • Wenn Sie diesen Modus auswählen, wird Audio abgespielt, über das der Nutzer keine direkte Kontrolle hat. Der Audionutzungstyp ist USAGE_GAME.
    • Der Verbindungsstatus des Anbieters sollte innerhalb von 5 Sekunden zu CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL wechseln.
  • Tasten für Wiedergabe und Stopp

    • Mit den Schaltflächen Wiedergabe und Stopp starten oder stoppen Sie den Ton.
  • Schaltergebnis

    • In diesem Feld wird die Latenz von „Verbinden“ und „Aktiv“ angezeigt. Außerdem wird der Grund für das Ablehnen eines Wechsels angezeigt, wenn ein Audioereignis ausgelöst wurde, der Wechsel jedoch nicht erfolgt ist.
    • Die Latenz wird in Millisekunden (ms) gemessen.
    • Im Allgemeinen wird die Latenz vom Start des Audio-Wechsel-Triggers bis zum Empfang eines BT-Profils oder eines Notify-Multipoint-Switch-Ereignisses gemessen.
    • Vom Anbieter ausgelöste Umschaltungen messen die Latenz ab Beginn des Audiosignals.

Dump-Latenz

  • Mit dem folgenden Befehl kann ein Nutzer Latenzmessungen beim Ausführen manueller Tests erfassen: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Die 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"
  • Alle Schalter, die von GmsCore nicht gemessen werden können (z. B. aktiver Schalter für HFP), werden mit einer Latenz von 0 ms erfasst.

Referenz zu Protokollmustern:

Beispiele für Logs aus dem Latenztest

Bekannte Probleme:

Die folgenden Fehler werden durch den Seeker verursacht:

  1. Falscher Audio-Wechsel bei Spiel.
    • Samsung-Smartphones setzen beim Spielen den Verbindungsstatus auf CONNECTED_A2DP_WITH_AVRCP anstelle von CONNECTED_A2DP_ONLY.
    • Bei einigen Spielen (z. B. Candy Crush) wird möglicherweise Hintergrundmusik wiederholt und ein neues Audioereignis ausgelöst, ohne dass der Nutzer etwas tut. Die verbundenen Smartphones können den Ton jedes Smartphones, auf dem das Spiel geöffnet wird, ständig wechseln.