หลักเกณฑ์การรับรองการสลับอุปกรณ์เสียง

การเตรียมตัวสำหรับการรับรอง

  • เตรียมอุปกรณ์ทดสอบ
    • คุณจะต้องมีอุปกรณ์ Android 5 เครื่อง
      • อุปกรณ์เหล่านี้ต้องมีสิ่งต่อไปนี้
        • Android T (13) อย่างน้อย 1 รายการและ Android V (15) อย่างน้อย 1 รายการ
        • Samsung อย่างน้อย 1 เครื่องและ Pixel อย่างน้อย 1 เครื่อง
        • เช่น
          • 1 OnePlus (Android 10)
          • 3 Samsung (Android 11, 12, 13)
          • Pixel 1 (Android 15)
    • อุปกรณ์ 1 เครื่องที่ไม่มีสวิตช์เสียง
      • iPhone, PC, แล็ปท็อปที่เปิดใช้บลูทูธ (BT) หรือโทรศัพท์ Android ที่ปิดสวิตช์เสียงไว้
        • คุณปิดสวิตช์เสียงได้จากการตั้งค่ารายละเอียดอุปกรณ์บลูทูธ
      • กรณีทดสอบแบบหลายจุด (MP) 2.8 ต้องใช้อุปกรณ์ที่ไม่มีสวิตช์เสียงนอกเหนือจากโทรศัพท์ทดสอบ 5 เครื่อง
  • เข้าร่วมกลุ่มทดสอบสวิตช์เสียงด้วยบัญชีทดสอบเพื่อแสดงการแจ้งเตือนการแก้ไขข้อบกพร่องในโทรศัพท์ทดสอบ

    • ซึ่งยังช่วยให้ Google รวบรวมข้อมูลทดสอบผ่าน Google Analytics ได้ด้วย

คลาสสิกที่มี A2DP+HFP

  • ตรวจสอบว่าอุปกรณ์ Android ทั้งหมดติดตั้ง GmsCore เวอร์ชัน 23.xx.xx ขึ้นไปแล้ว

BLE พร้อม LE Audio

  • โทรศัพท์อ้างอิงอย่างน้อย 2 เครื่องต้องรองรับ LE Audio
    • เช่น โทรศัพท์ Samsung 1 เครื่องและโทรศัพท์ Pixel 1 เครื่องที่รองรับ LE Audio
  • ตรวจสอบว่าอุปกรณ์ Android ทั้งหมดติดตั้ง GmsCore เวอร์ชัน 24.33.xx ขึ้นไปแล้ว

เกณฑ์การรับรอง

  • อัตราความสําเร็จของการเปลี่ยนเป้าหมายต้องมากกว่า 95% ในเทสเคสทั้งหมด
  • ในการทดสอบที่ต้องใช้สวิตช์ การเชื่อมต่อโปรไฟล์และสถานะสวิตช์ที่ทำงานอยู่ต้องเสร็จสมบูรณ์ภายใน 3 วินาทีหลังจากทริกเกอร์เหตุการณ์เสียงอย่างน้อย 75% ของกรณี

คลาสสิกที่มี A2DP+HFP

การทดสอบด้วยตนเองต้องดำเนินการในชุดค่าผสมต่อไปนี้

  • โทรศัพท์ ก.=Android S (12) + โทรศัพท์ ข.=Android T (13)
  • โทรศัพท์ ก.=Android T (13) + โทรศัพท์ ข.=Android S (12)

BLE พร้อม LE Audio

การทดสอบด้วยตนเองต้องดำเนินการในชุดค่าผสมต่อไปนี้

  • โทรศัพท์ ก: BT Classic, โทรศัพท์ ข: BT Classic
  • โทรศัพท์ ก: LE Audio, โทรศัพท์ ข: BT แบบคลาสสิก
  • โทรศัพท์ ก: BT คลาสสิก, โทรศัพท์ ข: LE Audio

ผู้ให้บริการที่รองรับการเชื่อมต่อ LE Audio แบบคู่ควรทดสอบสิ่งต่อไปนี้ (ไม่บังคับ)

  • โทรศัพท์ ก: LE Audio, โทรศัพท์ ข: LE Audio

คู่มือการทดสอบ

การเตรียมอุปกรณ์ทดสอบ (DUT)

  • ตรวจสอบว่าก่อนหน้านี้อุปกรณ์ BT ไม่ได้จับคู่กับโทรศัพท์ใดๆ ที่เข้าสู่ระบบบัญชี Google ที่ใช้ทดสอบ
    • หากอุปกรณ์จับคู่กับบัญชี Google ที่ใช้ทดสอบ ให้ทำดังนี้เพื่อล้างการจับคู่
      • ในอุปกรณ์ที่จับคู่แล้ว ให้ทำดังนี้
        • ไปที่การตั้งค่าบลูทูธ
        • เลือก "เลิกจำอุปกรณ์"
        • สลับเปิดและปิดโหมดบนเครื่องบิน
    • ตรวจสอบว่า "บันทึกอุปกรณ์โดยอัตโนมัติ" เปิดอยู่
      • สวิตช์นี้จะปิดอยู่โดยค่าเริ่มต้น
      • ตัวเลือกนี้จะอยู่ในการตั้งค่า > Google > อุปกรณ์ > อุปกรณ์ที่บันทึกไว้ (1 รายการต่อ DUT)
    • ตั้งค่าอุปกรณ์บลูทูธให้อยู่ในโหมดการจับคู่
    • จับคู่อุปกรณ์บลูทูธเครื่องแรก (ก)
    • จับคู่อุปกรณ์บลูทูธเครื่องถัดไปกับอุปกรณ์อื่นๆ (B, C, D ฯลฯ)

ขอบเขต

  • หูฟังทั้งหมดจะทำการทดสอบจากแท็บต่างๆ ในรายงานการทดสอบด้วยตนเองของ BT Classic หรือ BT LE Audio
  • หูฟังที่รองรับเฉพาะโหมด SinglePoint (SP) จะทํางานดังนี้
    • แท็บ Generic_test
  • ชุดหูฟังที่รองรับโหมด MP จะใช้งานสิ่งต่อไปนี้ได้
    • แท็บ Generic_test
    • แท็บ Multipoint_only
  • ชุดหูฟัง MP ที่เปลี่ยนเป็นโหมด SP ได้จะใช้งานสิ่งต่อไปนี้ได้
    • แท็บ Generic_test ที่ปิด MP
    • แท็บ Generic_test ที่เปิด MP ไว้
    • แท็บ Multipoint_only ที่เปิด MP ไว้

การพักฟื้นด้วยตนเองและรายงานการทดสอบด้วยตนเอง

  • ทำสำเนารายงานการทดสอบด้วยตนเองของ BT Classic หรือ BT LE Audio
  • เรียกใช้เฟรมเวิร์กทดสอบทั้งหมดอย่างน้อย 2 ครั้ง
  • การทดสอบควรดำเนินการในรูปแบบต่อไปนี้

คลาสสิกที่มี A2DP+HFP

  • อุปกรณ์ ข. จะเป็น DUT หลัก
    • ป้อนรายละเอียดของอุปกรณ์ ข. ในช่อง "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนของเทมเพลต

ตัวอย่าง Test Case

  • โทรศัพท์ที่ใช้ทดสอบ

    • อุปกรณ์ที่ 1: Samsung (Android 13)
    • อุปกรณ์ที่ 2: Pixel (Android 12 หรือ 13) และอื่นๆ
  • การทดสอบที่ดำเนินการ

    • เรียกใช้ 1. อุปกรณ์ ก=Samsung S10+ (12) อุปกรณ์ ข=Pixel 7 Pro (13) คอลัมน์ ง: โทรศัพท์=Pixel 7 Pro, ระบบปฏิบัติการ=Android 13
    • ครั้งที่ 2 อุปกรณ์ ก=Pixel 7 Pro (13), อุปกรณ์ ข=Pixel 6(12) คอลัมน์ จ: โทรศัพท์=Pixel 6, ระบบปฏิบัติการ=Android 12

ตัวอย่างการทดสอบที่เสร็จสมบูรณ์ในเทมเพลตการทดสอบด้วยตนเอง

รูปภาพนี้แสดงผลการทดสอบตัวอย่าง

BLE พร้อม LE Audio

  1. อุปกรณ์ ก=Android V (15) + อุปกรณ์ ข=Android T (13)
  2. อุปกรณ์ ก=Android T (13) + อุปกรณ์ ข=Android V (15)
  3. อุปกรณ์ ก.=Android T (13) + อุปกรณ์ ข.=Android S (12)
  4. อุปกรณ์ ก=Android T (15) + อุปกรณ์ ข=Android V (15)
  5. อุปกรณ์ ข. จะเป็น DUT หลัก
    • ป้อนรายละเอียดของอุปกรณ์ ข. ในช่อง "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนของเทมเพลต

ตัวอย่าง Test Case

  • โทรศัพท์ที่ใช้ทดสอบ

    • อุปกรณ์ที่ 1: Samsung (Android 13)
    • อุปกรณ์ที่ 2: Pixel (Android 15) และอื่นๆ
  • การทดสอบที่ดำเนินการ

    • [LEA+BT]: อุปกรณ์ ก= Pixel 8 (15), อุปกรณ์ ข=Pixel 7 Pro (13) คอลัมน์ ง: โทรศัพท์=Pixel 7 Pro, ระบบปฏิบัติการ=Android 13
    • [BT+LEA]: คอลัมน์อุปกรณ์ ก=Pixel 7 (13), อุปกรณ์ ข=Pixel 8 (Android 15) E: โทรศัพท์=Pixel 8, ระบบปฏิบัติการ=Android 15
    • [BT+BT]: อุปกรณ์ ก=Pixel 7 Pro (13), อุปกรณ์ ข=Samsung S10+ (12) คอลัมน์ E: โทรศัพท์=Samsung S10+, ระบบปฏิบัติการ=Android 12
    • [LEA+LEA]: อุปกรณ์ ก=Pixel 8 (15), อุปกรณ์ ข=Pixel 8(15) คอลัมน์ จ: โทรศัพท์=Pixel 8, ระบบปฏิบัติการ=Android 15

ตัวอย่างการทดสอบที่เสร็จสมบูรณ์ในเทมเพลตการทดสอบด้วยตนเอง

รูปภาพนี้แสดงผลการทดสอบตัวอย่าง

กิจกรรมเสียง

  • เหตุการณ์เสียงที่ทดสอบและแอปทดสอบที่แนะนำ 4 ประเภท ได้แก่

    1. โทร:
      1. แอปโทรศัพท์ในตัว
    2. VoIP: แอป VoIP ใดก็ได้ เช่น
      1. แอปทดสอบการสลับอุปกรณ์เสียง
      2. FB Messenger
      3. บรรทัด
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. สื่อ: โปรแกรมเล่นเสียงใดก็ได้ เช่น
      1. แอปทดสอบการสลับอุปกรณ์เสียง
      2. YouTube Music
      3. Apple Music
      4. Spotify
      5. Google Podcasts
    4. เกม:
      1. แอปทดสอบการสลับอุปกรณ์เสียง

ข้อมูลการแก้ไขข้อบกพร่อง

  • การแจ้งเตือนจะเปิดใช้หลังจากเข้าร่วมกลุ่ม fp-sass-partner-test ตัวอย่างเช่น

    • การแจ้งเตือนสถานะล่าสุด

    รูปที่ 1: แสดงข้อความ "การแจ้งเตือนสถานะล่าสุด"

    • ไม่มีการแจ้งเตือนการเปลี่ยน:

    รูปที่ 2: แสดงข้อความ "ไม่มีการแจ้งเตือนการเปลี่ยน"

    • วิธีเปลี่ยนการแจ้งเตือนเวลาในการตอบสนอง

    รูปที่ 3: แสดงข้อความ "การแจ้งเตือนเวลาในการตอบสนองของการเปลี่ยน"

การวัดเวลาในการตอบสนอง

  • เวลาในการตอบสนองของสวิตช์มี 2 ประเภท ดังนี้
    1. การเชื่อมต่อโปรไฟล์บลูทูธกับอุปกรณ์ค้นหาที่ตัดการเชื่อมต่อ
      • ซึ่งรวมถึงเคส SinglePoint ทั้งหมด และเคส MP บางเคสที่อุปกรณ์ค้นหาเป้าหมาย (อุปกรณ์ ข) ตัดการเชื่อมต่อ
    2. การเปลี่ยน Seeker ที่เชื่อมต่ออยู่และใช้งานอยู่
      • ซึ่งรวมถึงกรณี MP บางกรณีที่ผู้ค้นหาเป้าหมาย (อุปกรณ์ ข) เชื่อมต่ออยู่แล้ว
  • การเรียกข้อมูลเวลาในการตอบสนองทำได้ 2 วิธีดังนี้
    1. คุณสามารถบันทึกเวลาในการตอบสนองทั้งหมดได้ด้วยคำสั่ง adb
    2. การใช้แอปทดสอบการสลับอุปกรณ์เสียง
      • แอปที่ทำงานบน Seeker เป้าหมายจะแสดงเวลาในการตอบสนองหลังจากสลับ
      • หากไม่มีสวิตช์ แอปจะแสดงเหตุผลว่า "ไม่มีสวิตช์"

แอปทดสอบการสลับอุปกรณ์เสียง

  • การใช้แอปเพื่อทริกเกอร์เหตุการณ์เสียง VoIP/สื่อ/เกมระหว่างการทดสอบด้วยตนเองจะช่วยลดความซับซ้อนของการตั้งค่าการทดสอบและลดเวลาในการตอบสนองของเหตุการณ์ของผู้ค้นหา
  • การติดตั้งแอป:
    • คัดลอก apk ไปยังโทรศัพท์ที่ใช้ทดสอบแล้วเปิด
    • หรือใช้ adb install audio_test_app.apk
  • หากเห็นกล่องโต้ตอบที่ขอสิทธิ์เข้าถึงการแจ้งเตือน ให้ทำดังนี้
    1. คลิก "ตกลง"
    2. เลือก "FP SASS test" ในรายการแอป
    3. อนุญาตให้เข้าถึงการแจ้งเตือน

ภาพรวมของแอป

รูปภาพนี้แสดงตัวอย่างแอปที่ทำงานอยู่

  • ผู้ให้บริการเป้าหมาย

    • ปุ่มนี้จะแสดงรายการอุปกรณ์บลูทูธที่จับคู่ไว้เมื่อคลิก เลือกรายการที่ต้องการทดสอบ
    • ปุ่มเชื่อมต่อและยกเลิกการเชื่อมต่อจะทำงานเหมือนกับปุ่มในรายละเอียดอุปกรณ์ของการตั้งค่าบลูทูธ
  • สถานะปัจจุบัน

    • ช่องนี้แสดงสถานะการเชื่อมต่อล่าสุดที่อุปกรณ์ค้นหาได้รับจากผู้ให้บริการโดยใช้สตรีมโฆษณาหรือเหตุการณ์ BLE
    • การแจ้งเตือนการแก้ไขข้อบกพร่องของปุ่มสลับเสียงจะแสดงที่นี่ด้วย
  • ประเภทผู้ค้นหา

    • ตัวเลือกนี้ใช้เพื่อสลับอุปกรณ์ระหว่างสตรีมเสียง

ประเภทเสียง

คลาสสิกที่มี A2DP+HFP

  • VoIP
    • การเลือกโหมดนี้จะเปลี่ยนโหมดเสียงเป็น AudioManager.MODE_IN_COMMUNICATION และโทรไปที่ AudioManager.startBluetoothSco จากนั้นเปิดเสียงด้วย USAGE_VOICE_COMMUNICATION
    • ประเภทสตรีมคือ STREAM_VOICE_CALL
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_HFP ภายใน 5 วินาที
  • สื่อ
    • การเลือกโหมดนี้จะเล่นเสียงที่รองรับ AVRCP ประเภทการใช้เสียงคือ USAGE_MEDIA
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_A2DP_WITH_AVRCP ภายใน 5 วินาที
    • สถานะการเชื่อมต่ออาจเปลี่ยนเป็น CONNECTED_A2DP_ONLY เป็นระยะเวลาสั้นๆ เมื่อเริ่มหรือหยุดการเชื่อมต่อ
  • เกม
    • การเลือกโหมดนี้จะเล่นเสียงที่ไม่รองรับ AVRCP ประเภทการใช้งานเสียงคือ USAGE_GAME
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_A2DP_ONLY ภายใน 5 วินาที

BLE พร้อม LE Audio

  • VoIP

    • การเลือกโหมดนี้จะเปลี่ยนโหมดเสียงเป็น AudioManager.MODE_IN_COMMUNICATION และเล่นเสียงด้วย USAGE_VOICE_COMMUNICATION
    • ประเภทสตรีมคือ STREAM_VOICE_CALL
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_CALL ภายใน 5 วินาที
  • สื่อ

    • การเลือกโหมดนี้จะเล่นเสียงที่มีประเภทสตรีมเป็น STREAM_MUSIC ประเภทการใช้งานเสียงคือ USAGE_MEDIA
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL ภายใน 5 วินาที
    • สถานะการเชื่อมต่ออาจเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL เป็นระยะเวลาสั้นๆ เมื่อเริ่มหรือหยุดการเชื่อมต่อ
  • เกม

    • การเลือกโหมดนี้จะเล่นเสียงที่ผู้ใช้ไม่สามารถควบคุมได้โดยตรง ประเภทการใช้งานเสียงคือ USAGE_GAME
    • สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL ภายใน 5 วินาที
  • ปุ่มเล่นและหยุด

    • ปุ่ม "เล่น" และ "หยุด" จะเริ่มต้นหรือหยุดเสียง
  • เปลี่ยนผลลัพธ์

    • ช่องนี้จะแสดงเวลาในการตอบสนองที่ใช้งานอยู่ของ Connect และ Switch นอกจากนี้ ยังแสดงเหตุผลที่ปฏิเสธการเปลี่ยนด้วยหากมีการทริกเกอร์เหตุการณ์เสียงแต่การเปลี่ยนไม่เกิดขึ้น
    • เวลาในการตอบสนองมีหน่วยวัดเป็นมิลลิวินาที (ms)
    • โดยทั่วไป เวลาในการตอบสนองจะวัดจากจุดเริ่มต้นของทริกเกอร์สวิตช์เสียงไปจนถึงการรับโปรไฟล์ BT ที่เชื่อมต่อหรือเหตุการณ์สวิตช์หลายจุดที่แจ้งเตือน
    • สวิตช์ที่ทริกเกอร์โดยผู้ให้บริการจะวัดเวลาในการตอบสนองจากจุดเริ่มต้นของเสียง

เวลาในการตอบสนองของดัมพ์

  • คําสั่งต่อไปนี้ช่วยให้ผู้ใช้บันทึกการวัดเวลาในการตอบสนองได้เมื่อทำการทดสอบด้วยตนเอง adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • การวัดเวลาในการตอบสนองจะแสดงในส่วน NearbyDeviceManager's SwitchHistory ดังนี้
            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 มิลลิวินาที

ข้อมูลอ้างอิงรูปแบบบันทึก

ตัวอย่างบันทึกจากการทดสอบเวลาในการตอบสนอง

ปัญหาที่ทราบแล้ว

ข้อบกพร่องที่ทราบซึ่งเกิดจาก Seeker มีดังนี้

  1. การเปลี่ยนเสียงเกมไม่ถูกต้อง
    • โทรศัพท์ Samsung จะตั้งค่าสถานะการเชื่อมต่อเป็นCONNECTED_A2DP_WITH_AVRCPแทนCONNECTED_A2DP_ONLYเมื่อเล่นเกม
    • เกมบางเกม (เช่น Candy Crush) อาจเล่นเพลงพื้นหลังซ้ำและทริกเกอร์เหตุการณ์เสียงใหม่โดยที่ผู้ใช้ไม่ได้ป้อนข้อมูล โทรศัพท์ที่เชื่อมต่ออาจสลับเสียงในโทรศัพท์ทุกเครื่องที่เปิดเกมอยู่อย่างต่อเนื่อง