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

การเตรียมตัวเพื่อรับการรับรอง

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

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

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

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

อุปกรณ์ที่อยู่ระหว่างการเตรียมการทดสอบ (DUT)

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

ขอบเขต

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

การดำเนินการพักผ่อนด้วยตนเองและรายงานการทดสอบด้วยตนเองให้เสร็จสมบูรณ์

  • เรียกใช้กรอบการทดสอบทั้งหมดอย่างน้อย 2 ครั้ง
  • การทดสอบควรดำเนินการในรูปแบบต่อไปนี้
  1. อุปกรณ์ A=Android S (12) + อุปกรณ์ B=Android T (13)
  2. อุปกรณ์ A=Android T (13) + อุปกรณ์ B=Android S (12)
  3. อุปกรณ์ ข จะเป็น DUT หลัก
    • ป้อนรายละเอียดของอุปกรณ์ ข ใน "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนสุดของ template

ตัวอย่างกรอบการทดสอบ

  • โทรศัพท์ทดสอบ

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

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

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

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

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

  • เหตุการณ์เสียงที่ทดสอบและแอปทดสอบที่แนะนำมี 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. การแจ้งเตือนสถานะล่าสุด: รูปที่ 1: แสดง "การแจ้งเตือนสถานะล่าสุด"

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

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

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

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

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

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

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

ภาพนี้เป็นตัวอย่างของแอปที่ใช้

ผู้ให้บริการเป้าหมาย
ปุ่มนี้จะแสดงรายการอุปกรณ์บลูทูธที่จับคู่เมื่อคลิก เลือก ลิงก์ที่คุณต้องการทดสอบ
ปุ่ม "เชื่อมต่อ" และ "ยกเลิกการเชื่อมต่อ" จะทำงานเหมือนกับปุ่มในบลูทูธ การตั้งค่า รายละเอียดอุปกรณ์
สถานะปัจจุบัน
ช่องนี้แสดงสถานะการเชื่อมต่อล่าสุดที่ Seeker ได้รับจากผู้ให้บริการ โดยใช้การโฆษณา BLE หรือสตรีมเหตุการณ์
การแจ้งเตือนการแก้ไขข้อบกพร่องเกี่ยวกับการสลับเสียงจะแสดงที่นี่ด้วย
ประเภทผู้ค้นหา
ตัวเลือกนี้ใช้เพื่อเปลี่ยนอุปกรณ์ระหว่างสตรีมเสียง
ประเภทเสียง
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 วินาที
ปุ่มเล่นและหยุด
ปุ่ม "เล่น" และ "หยุด" จะเริ่มหรือหยุดเสียง
เปลี่ยนผลลัพธ์

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

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

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

  • คำสั่งต่อไปนี้ช่วยให้ผู้ใช้บันทึกการวัดเวลาในการตอบสนองได้เมื่อ เรียกใช้การทดสอบด้วยตนเอง: 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 มิลลิวินาที

การอ้างอิงรูปแบบบันทึก:

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

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

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

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