การเตรียมตัวสำหรับการรับรอง
- เตรียมอุปกรณ์ทดสอบ
- คุณจะต้องมีอุปกรณ์ 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 เครื่อง
 
 - iPhone, PC, แล็ปท็อปที่เปิดใช้บลูทูธ (BT) หรือโทรศัพท์ Android ที่ปิดสวิตช์เสียงไว้
 
 - คุณจะต้องมีอุปกรณ์ Android 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 ฯลฯ)
 
 - หากอุปกรณ์จับคู่กับบัญชี Google ที่ใช้ทดสอบ ให้ทําดังนี้เพื่อล้างการจับคู่
 
ขอบเขต
- หูฟังทั้งหมดจะทำการทดสอบจากแท็บต่างๆ ในรายงานการทดสอบด้วยตนเองของ 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
- อุปกรณ์ ก=Android V (15) + อุปกรณ์ ข=Android T (13)
 - อุปกรณ์ ก=Android T (13) + อุปกรณ์ ข=Android V (15)
 - อุปกรณ์ ก=Android T (13) + อุปกรณ์ ข=Android S (12)
 - อุปกรณ์ ก=Android T (15) + อุปกรณ์ ข=Android V (15)
 - อุปกรณ์ ข. จะเป็น 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 ประเภท ได้แก่
- โทร:
- แอปโทรศัพท์ในตัว
 
 - VoIP: แอป VoIP ใดก็ได้ เช่น
- แอปทดสอบการสลับอุปกรณ์เสียง
 - FB Messenger
 - บรรทัด
 - Google Meet
 - Google Meet
 
 - สื่อ: โปรแกรมเล่นเสียงใดก็ได้ เช่น
- แอปทดสอบการสลับอุปกรณ์เสียง
 - YouTube Music
 - Apple Music
 - Spotify
 - Google Podcasts
 
 - เกม:
- แอปทดสอบการสลับอุปกรณ์เสียง
 
 
- โทร:
 
ข้อมูลการแก้ไขข้อบกพร่อง:
การแจ้งเตือนจะเปิดใช้หลังจากเข้าร่วมกลุ่ม fp-sass-partner-test โดยมีตัวอย่างดังนี้
- การแจ้งเตือนสถานะล่าสุด
 

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

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

การวัดเวลาในการตอบสนอง
- เวลาในการตอบสนองของสวิตช์มี 2 ประเภท ได้แก่
- การเชื่อมต่อโปรไฟล์บลูทูธกับอุปกรณ์ค้นหาที่ตัดการเชื่อมต่อ
- ซึ่งรวมถึงเคส SinglePoint ทั้งหมด และเคส MP บางเคสที่อุปกรณ์เป้าหมาย (อุปกรณ์ ข) ตัดการเชื่อมต่อ
 
 - การเปลี่ยน Seeker ที่เชื่อมต่ออยู่และใช้งานอยู่
- ซึ่งรวมถึงกรณี MP บางกรณีที่ผู้ค้นหาเป้าหมาย (อุปกรณ์ ข) เชื่อมต่ออยู่
 
 
 - การเชื่อมต่อโปรไฟล์บลูทูธกับอุปกรณ์ค้นหาที่ตัดการเชื่อมต่อ
 - การเรียกข้อมูลเวลาในการตอบสนองทำได้ 2 วิธีดังนี้
- คุณสามารถบันทึกเวลาในการตอบสนองทั้งหมดได้ด้วยคำสั่ง adb
- ดูรายละเอียดได้ที่ส่วนเวลาในการตอบสนองของข้อมูลการพ่ายแพ้
 - คำสั่งนี้จะระบุและบันทึกเวลาในการตอบสนองหลังจากทำเทสต์เคสอย่างน้อย 1 รายการเสร็จแล้ว
 
 - การใช้แอปทดสอบการสลับอุปกรณ์เสียง
- แอปที่ทำงานบน Seeker เป้าหมายจะแสดงเวลาในการตอบสนองหลังจากสลับ
 - หากไม่มีสวิตช์ แอปจะแสดงเหตุผลว่า "ไม่มีสวิตช์"
 
 
 - คุณสามารถบันทึกเวลาในการตอบสนองทั้งหมดได้ด้วยคำสั่ง adb
 
แอปทดสอบการสลับอุปกรณ์เสียง
- การใช้แอปเพื่อทริกเกอร์เหตุการณ์เสียง VoIP/สื่อ/เกมระหว่างการทดสอบด้วยตนเองจะช่วยลดความซับซ้อนของการตั้งค่าการทดสอบและลดเวลาในการตอบสนองของเหตุการณ์ของ Seeker
- ดาวน์โหลดเวอร์ชันล่าสุดได้ที่นี่
 - การทดสอบ VoIP ของ LE Audio ต้องเปิดใช้นโยบายด้วยตนเอง โดยทำดังนี้ > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
 
 
- การติดตั้งแอป:
- คัดลอก apk ไปยังโทรศัพท์ที่ใช้ทดสอบแล้วเปิด
 - หรือใช้ 
adb install audio_test_app.apk 
 
- หากเห็นกล่องโต้ตอบที่ขอสิทธิ์เข้าถึงการแจ้งเตือน ให้ทำดังนี้
- คลิก "ตกลง"
 - เลือก "FP SASS test" ในรายการแอป
 - อนุญาตให้เข้าถึงการแจ้งเตือน
 
 
ภาพรวมของแอป

ผู้ให้บริการเป้าหมาย
- ปุ่มนี้จะแสดงรายการอุปกรณ์บลูทูธที่จับคู่ไว้เมื่อคลิก เลือกรายการที่ต้องการทดสอบ
 - ปุ่มเชื่อมต่อและยกเลิกการเชื่อมต่อจะทำงานเหมือนกับปุ่มในรายละเอียดอุปกรณ์ของการตั้งค่าบลูทูธ
 
สถานะปัจจุบัน
- ช่องนี้แสดงสถานะการเชื่อมต่อล่าสุดที่อุปกรณ์ค้นหาได้รับจากผู้ให้บริการโดยใช้สตรีมโฆษณาหรือเหตุการณ์ 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 ประเภทการใช้เสียงคือ 
 เกม
- การเลือกโหมดนี้จะเล่นเสียงที่ไม่รองรับ AVRCP ประเภทการใช้งานเสียงคือ 
USAGE_GAME - สถานะการเชื่อมต่อของผู้ให้บริการควรเปลี่ยนเป็น 
CONNECTED_A2DP_ONLYภายใน 5 วินาที 
- การเลือกโหมดนี้จะเล่นเสียงที่ไม่รองรับ AVRCP ประเภทการใช้งานเสียงคือ 
 
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'sSwitchHistoryดังนี้ 
 - การวัดเวลาในการตอบสนองจะแสดงในส่วน 
 
            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 มีดังนี้
- การเปลี่ยนเสียงเกมไม่ถูกต้อง
- โทรศัพท์ Samsung จะตั้งค่าสถานะการเชื่อมต่อเป็น
CONNECTED_A2DP_WITH_AVRCPแทนCONNECTED_A2DP_ONLYเมื่อเล่นเกม - เกมบางเกม (เช่น Candy Crush) อาจเล่นเพลงในเบื้องหลังซ้ำและเรียกเหตุการณ์เสียงใหม่ให้แสดงโดยที่ผู้ใช้ไม่ได้ป้อนข้อมูล โทรศัพท์ที่เชื่อมต่ออาจสลับเสียงในโทรศัพท์ทุกเครื่องที่เปิดเกมอยู่อย่างต่อเนื่อง
 
 - โทรศัพท์ Samsung จะตั้งค่าสถานะการเชื่อมต่อเป็น