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

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

  1. เตรียมอุปกรณ์ทดสอบ
    • คุณต้องมีอุปกรณ์ Android 5 เครื่อง
      • อุปกรณ์ดังกล่าวต้องมีข้อมูลต่อไปนี้
        • Android T (13) อย่างน้อย 1 รายการ และ Android S (12) อย่างละ 1 รายการ
        • Samsung อย่างน้อย 1 เครื่องและ Pixel 1 เครื่อง
        • เช่น
          • 1 OnePlus (Android 10)
          • 3 Samsung (Android 11, 12, 13)
          • 1 Pixel (Android 13)
    • อุปกรณ์ 1 เครื่องที่ไม่มีสวิตช์เสียง
      • iPhone, PC, แล็ปท็อปที่รองรับบลูทูธ (BT) หรือโทรศัพท์ Android ที่ปิดใช้สวิตช์เสียง
        • คุณสามารถปิดการสลับเสียงจากการตั้งค่ารายละเอียดของอุปกรณ์บลูทูธ
      • เคสทดสอบมัลติพอยต์ (MP) 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) จะทํางานดังต่อไปนี้
    • แท็บ General_test
  • ชุดหูฟังที่รองรับโหมด MP จะทำงานดังนี้
    • แท็บ General_test
    • แท็บ Multipoint_only
  • ชุดหูฟัง MP ที่สลับเป็นโหมด SP ได้จะทํางานดังนี้
    • แท็บ generic_test ที่ปิดใช้งาน MP
    • แท็บ generic_test ที่เปิด MP
    • แท็บ Multipoint_only เมื่อเปิด MP

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

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

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

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

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

แอปทดสอบการเปลี่ยนเสียง:

  • การใช้แอปเพื่อเรียกใช้เหตุการณ์เสียง VoIP/สื่อ/เกม ระหว่างการทดสอบตนเองจะทำให้การตั้งค่าการทดสอบง่ายขึ้นและลดเวลาในการตอบสนองของเหตุการณ์ของ Seeker
    • คุณดาวน์โหลดเวอร์ชัน 1.03 ได้ที่นี่
  • การติดตั้งแอป
    • คัดลอก APK ไปยังโทรศัพท์ทดสอบแล้วเปิด
    • หรือใช้ adb install audio_test_app.apk แทน
  • หากพบกล่องโต้ตอบที่ขอการเข้าถึงการแจ้งเตือน ให้ทำดังนี้
    1. คลิก "ตกลง"
    2. เลือก "การทดสอบ FP SASS" ในรายการแอป
    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 วินาที
ปุ่มเล่นและหยุด
ปุ่ม "เล่น" และ "หยุด" จะเริ่มหรือหยุดเสียง
เปลี่ยนผลการค้นหา

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

  • เวลาในการตอบสนองมีหน่วยวัดเป็นมิลลิวินาที (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) อาจเล่นเพลงอยู่เบื้องหลังซ้ำและเรียกเหตุการณ์เสียงใหม่โดยที่ผู้ใช้ไม่ต้องป้อนข้อมูล โทรศัพท์ที่เชื่อมต่ออาจเปลี่ยนเสียง ในโทรศัพท์ทุกเครื่องที่เปิดเกม