การเตรียมตัวสำหรับการรับรอง
- เตรียมอุปกรณ์ทดสอบ
- คุณต้องมีอุปกรณ์ 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
คุณต้องทำการทดสอบด้วยตนเองในชุดค่าผสมต่อไปนี้
- โทรศัพท์ A=Android S (12) + โทรศัพท์ B=Android T (13)
- โทรศัพท์ ก.=Android T (13) + โทรศัพท์ ข.=Android S (12)
BLE กับ LE Audio
การทดสอบด้วยตนเองต้องทำในชุดค่าผสมต่อไปนี้
- โทรศัพท์ ก: BT Classic, โทรศัพท์ ข: BT Classic
- โทรศัพท์ A: LE Audio, โทรศัพท์ B: BT Classic
- โทรศัพท์ A: BT Classic, โทรศัพท์ B: LE Audio
ทั้งนี้ ผู้ให้บริการที่รองรับการเชื่อมต่อ Dual LE Audio ควรทดสอบดังต่อไปนี้
- โทรศัพท์ A: LE Audio, โทรศัพท์ B: LE Audio
คู่มือการทดสอบ
อุปกรณ์ที่อยู่ระหว่างการเตรียมการทดสอบ (DUT)
- ตรวจสอบว่าก่อนหน้านี้อุปกรณ์ BT ไม่ได้จับคู่กับโทรศัพท์ใดๆ ที่เข้าสู่ระบบบัญชี Google ที่ใช้ทดสอบ
- หากอุปกรณ์จับคู่กับบัญชี Google ที่ใช้ทดสอบ ให้ทำดังนี้เพื่อล้างการจับคู่
- ในอุปกรณ์ที่จับคู่ ให้ทำดังนี้
- ไปที่การตั้งค่าบลูทูธ
- เลือก "ไม่จำอุปกรณ์"
- เปิดและปิดโหมดบนเครื่องบิน
- ในอุปกรณ์ที่จับคู่ ให้ทำดังนี้
- ตรวจสอบว่า "บันทึกอุปกรณ์โดยอัตโนมัติ" เปิดอยู่
- สวิตช์นี้จะปิดอยู่โดยค่าเริ่มต้น
- ตัวเลือกนี้อยู่ในการตั้งค่า > Google อุปกรณ์ > บันทึกแล้ว อุปกรณ์ (1 เครื่องต่อ DUT)
- ให้อุปกรณ์บลูทูธอยู่ในโหมดการจับคู่
- จับคู่อุปกรณ์บลูทูธเริ่มต้น (A)
- จับคู่อุปกรณ์บลูทูธเครื่องถัดไปกับอุปกรณ์อื่นๆ (B, C, D ฯลฯ)
- หากอุปกรณ์จับคู่กับบัญชี Google ที่ใช้ทดสอบ ให้ทำดังนี้เพื่อล้างการจับคู่
ขอบเขต
- ชุดหูฟังทั้งหมดทำการทดสอบจากแท็บต่างๆ ใน เทมเพลตการทดสอบการสลับอุปกรณ์เสียงด้วยตนเอง
- ชุดหูฟังที่รองรับเฉพาะโหมด SinglePoint (SP) จะทำงานดังนี้
- แท็บ Generic_test
- ชุดหูฟังที่รองรับโหมด MP จะใช้ฟีเจอร์ต่อไปนี้
- แท็บ generic_test
- แท็บ Multipoint_only
- ชุดหูฟัง MP ที่เปลี่ยนเป็นโหมด SP ได้จะใช้งานสิ่งต่อไปนี้ได้
- แท็บ generic_test ที่ปิด MP
- แท็บ generic_test ที่เปิด MP อยู่
- แท็บ Multipoint_only ที่เปิด MP
การดำเนินการพักผ่อนด้วยตนเองและรายงานการทดสอบด้วยตนเองให้เสร็จสมบูรณ์
- ทำสำเนารายงานการทดสอบการสลับอุปกรณ์เสียงด้วยตนเอง
- เรียกใช้เฟรมทดสอบทั้งหมดอย่างน้อย 2 ครั้ง
การทดสอบควรดำเนินการในรูปแบบต่อไปนี้
คลาสสิกที่มี A2DP+HFP
- อุปกรณ์ ข จะเป็น DUT หลัก
- ป้อนรายละเอียดของอุปกรณ์ ข ใน "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนสุดของ template
ตัวอย่าง 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) คอลัมน์ E: โทรศัพท์=Pixel 6, OS=Android 12
ตัวอย่างการทดสอบที่เสร็จสมบูรณ์ในเทมเพลตการทดสอบตนเอง
BLE กับ LE Audio
- อุปกรณ์ A=Android V (15) + อุปกรณ์ B=Android T (13)
- อุปกรณ์ A=Android T (13) + อุปกรณ์ B=Android V (15)
- อุปกรณ์ A=Android T (13) + อุปกรณ์ B=Android S (12)
- อุปกรณ์ A=Android T (15) + อุปกรณ์ B=Android V (15)
- อุปกรณ์ ข. จะเป็น DUT หลัก
- ป้อนรายละเอียดของอุปกรณ์ ข ใน "โทรศัพท์" และ "ระบบปฏิบัติการ" ที่ด้านบนสุดของ template
ตัวอย่างกรอบการทดสอบ
โทรศัพท์ทดสอบ
- อุปกรณ์ 1: Samsung (Android 13)
- อุปกรณ์ 2: Pixel (Android 15) และอุปกรณ์อื่นๆ
การทดสอบที่ดำเนินการ
- [LEA+BT]: อุปกรณ์ A= Pixel 8 (15), อุปกรณ์ B=Pixel 7 Pro (13) คอลัมน์ D: โทรศัพท์=Pixel 7 Pro, OS=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 รายการ
- ใช้แอปทดสอบการสลับอุปกรณ์เสียง
- แอปที่กำลังทำงานในผู้ค้นหาเป้าหมายจะแสดงเวลาในการตอบสนองหลังจาก การเปลี่ยนอุปกรณ์
- หากไม่มีสวิตช์ แอปจะแสดงเหตุผลว่า "ไม่มีสวิตช์"
- ลดเวลาในการตอบสนองทั้งหมดได้ด้วยคำสั่ง adb
แอปทดสอบการสลับอุปกรณ์เสียง
- การใช้แอปเพื่อทริกเกอร์เหตุการณ์เสียงใน VoIP/สื่อ/เกมระหว่างการทดสอบตนเอง
จะลดความซับซ้อนของการตั้งค่าการทดสอบและลดเวลาในการตอบสนองของเหตุการณ์
- ดาวน์โหลดเวอร์ชันล่าสุดได้ที่นี่
- การทดสอบ VoIP ของ LE Audio ต้องเปิดใช้นโยบายด้วยตนเอง โดยทำดังนี้ > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
- การติดตั้งแอป:
- คัดลอก APK ไปยังโทรศัพท์ทดสอบและเปิด
- หรือใช้
adb install audio_test_app.apk
- หากคุณเห็นกล่องโต้ตอบที่ขอสิทธิ์เข้าถึงการแจ้งเตือน ให้ทำดังนี้
- คลิก "ตกลง"
- เลือก "การทดสอบ SASS ของ FP" ในรายการแอป
- อนุญาตให้เข้าถึงการแจ้งเตือน
ภาพรวมของแอป
ผู้ให้บริการเป้าหมาย
- ปุ่มนี้จะแสดงรายการอุปกรณ์บลูทูธที่จับคู่เมื่อคลิก เลือกรายการที่ต้องการทดสอบ
- ปุ่ม "เชื่อมต่อ" และ "ยกเลิกการเชื่อมต่อ" จะทำงานเหมือนกับปุ่มในบลูทูธ การตั้งค่า รายละเอียดอุปกรณ์
สถานะปัจจุบัน
- ช่องนี้แสดงสถานะการเชื่อมต่อล่าสุดที่อุปกรณ์ค้นหาได้รับจากผู้ให้บริการโดยใช้สตรีมโฆษณาหรือเหตุการณ์ 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 วินาที
- การเลือกโหมดนี้จะเล่นเสียงที่ผู้ใช้ไม่ได้เล่นเสียงโดยตรง
ควบคุมได้ ประเภทการใช้เสียงคือ
ปุ่มเล่นและหยุด
- ปุ่ม "เล่น" และ "หยุด" จะเริ่มหรือหยุดเสียง
เปลี่ยนผลลัพธ์
- ฟิลด์นี้จะแสดงเวลาในการตอบสนองของ "เชื่อมต่อและสลับ" ที่ใช้งานอยู่ นอกจากนี้ ยังแสดงเหตุผลที่ปฏิเสธการเปลี่ยนด้วยหากมีการทริกเกอร์เหตุการณ์เสียงแต่การเปลี่ยนไม่เกิดขึ้น
- เวลาในการตอบสนองมีหน่วยวัดเป็นมิลลิวินาที (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 จะตั้งค่าสถานะการเชื่อมต่อเป็น