โปรไฟล์อุปกรณ์คู่หูที่เปิดตัวใน Android 12 เป็นฟีเจอร์ที่ช่วยให้แอปคู่หูสามารถขอชุดสิทธิ์เฉพาะสำหรับประเภทของอุปกรณ์คู่หู เช่น สมาร์ทวอทช์ การใช้โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันช่วยลดความยุ่งยากในขั้นตอนการลงทะเบียนโดยอนุญาตให้แอปแสดงพร้อมท์เดียวให้ผู้ใช้บนอุปกรณ์เคลื่อนที่ของตนขอชุดสิทธิ์ที่กำหนดไว้ แทนที่จะแสดงพร้อมท์หลายรายการเพื่อขอสิทธิ์ทีละรายการ ซึ่งจะทำให้ได้รับประสบการณ์การตั้งค่าที่คล่องตัวยิ่งขึ้นและอัตราการเลือกใช้แอปที่แสดงร่วมกันดีขึ้น
หากต้องการใช้โปรไฟล์อุปกรณ์ที่แสดงร่วม แอปที่แสดงร่วมจะต้องเป็นไปตามข้อกำหนดต่อไปนี้:
- จัดการอุปกรณ์ที่ใช้ร่วมกัน (เช่น สมาร์ทวอทช์)
- มีฟีเจอร์ของแอปหรือเรียกใช้ Android API ที่ต้องการสิทธิ์ทั้งหมดที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน
โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันแต่ละโปรไฟล์สอดคล้องกับบทบาทของ Android สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการอนุญาตและบทบาท Android ที่เกี่ยวข้องของแต่ละโปรไฟล์ โปรดดู โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันสำหรับแอปของบุคคลที่สาม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์สหาย โปรดดูที่ การจับคู่อุปกรณ์สหาย
ลักษณะการทำงานของอุปกรณ์
ส่วนนี้จะอธิบายลักษณะการทำงานของอุปกรณ์เมื่อใช้โปรไฟล์อุปกรณ์คู่หู
เมื่อผู้ใช้ยอมรับคำขอของแอปในการสร้างการเชื่อมโยงกับอุปกรณ์ที่แสดงร่วม บริการ CompanionDeviceManager
(CDM) จะมอบหมายบทบาทของโปรไฟล์อุปกรณ์ (เช่น นาฬิกา) ให้กับแอปที่แสดงร่วม โดยให้สิทธิ์ทั้งหมดที่กำหนดไว้สำหรับบทบาทโปรไฟล์ที่ระบุนั้น รูปที่ 1 แสดงตัวอย่างแอปที่ขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH
รูปที่ 1 กล่อง โต้ตอบขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์นาฬิกา
เมื่อผู้ใช้ล้างข้อมูลแพ็คเกจในการตั้งค่าหรือลบอุปกรณ์ทั้งหมดในแอพที่แสดงร่วมกัน CDM จะเพิกถอนโปรไฟล์ในขณะที่แอพไม่ได้ทำงานอยู่เบื้องหน้าหรือไม่ได้ทำงานบริการเบื้องหน้าอยู่ การเพิกถอนโปรไฟล์จะเพิกถอนสิทธิ์ที่กำหนดไว้ทั้งหมดสำหรับโปรไฟล์ด้วย
หลังจากที่ผู้ใช้ยอมรับคำขอของแอพในการให้สิทธิ์สำหรับโปรไฟล์อุปกรณ์เฉพาะ ผู้ใช้สามารถเพิกถอนสิทธิ์แต่ละรายการที่ได้รับได้ เมื่อผู้ใช้เพิกถอนสิทธิ์ แอปจะยังคงเชื่อมโยงกับอุปกรณ์คู่หู แต่ฟีเจอร์บางอย่างอาจไม่พร้อมใช้งาน หากจำเป็นต้องได้รับอนุญาตเพื่อให้แอปทำงานได้ แอปจะต้องขออนุญาตผ่าน การร้องขอสิทธิ์ ตามปกติ
โปรไฟล์อุปกรณ์คู่หูสำหรับแอปของบุคคลที่สาม
ดูโปรไฟล์
โปรไฟล์นาฬิกาเปิดตัวใน Android 12
ตารางต่อไปนี้อธิบายสิทธิ์ที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH
และข้อกำหนดในการใช้งาน
สิทธิ์ | ข้อกำหนดของแอปและอุปกรณ์ที่ใช้ร่วมกัน |
---|---|
การแจ้งเตือนBIND_NOTIFICATION_LISTENER_SERVICE |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
โปรไฟล์แว่นตา
โปรไฟล์ Glasses เปิดตัวใน Android 14
ตารางต่อไปนี้อธิบายสิทธิ์ที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_GLASSES
และข้อกำหนดในการใช้งาน
สิทธิ์ | ข้อกำหนดของแอปและอุปกรณ์ที่ใช้ร่วมกัน |
---|---|
การแจ้งเตือนBIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
การนำไปปฏิบัติ
สำหรับนักพัฒนาบุคคลที่สามที่ใช้งานแอพคู่หูที่ขอโปรไฟล์ DEVICE_PROFILE_WATCH
ให้ทำดังต่อไปนี้:
เรียกเมธอด
setDeviceProfile
ส่งผ่านโปรไฟล์ (เช่น
DEVICE_PROFILE_WATCH
เมื่อสร้างAssociationRequest
ผู้ผลิตอุปกรณ์ข้ามการแสดงกล่องโต้ตอบการยินยอมของผู้ใช้
สำหรับผู้ผลิตอุปกรณ์ที่ใช้แอปที่แสดงร่วมกับอุปกรณ์เฉพาะ ให้ใช้การกำหนดค่าระบบ Android ที่จำเป็นต่อไปนี้เพื่อรับรองแอปที่แสดงร่วม ซึ่งช่วยให้แอปข้ามการแสดงกล่องโต้ตอบคำยินยอมของผู้ใช้สำหรับผู้ใช้ได้
ดึงใบรับรองโดยใช้คำสั่งต่อไปนี้:
keytool -printcert -jarfile PATH/TO/APK
แทนที่ชื่อแพ็กเกจและใบรับรองตามที่แสดงในอินพุตตัวอย่างต่อไปนี้ในไฟล์กำหนดค่า:
<!-- A list of packages managing companion device(s) by the same manufacturers as the main device. It will not create the association without prompting if the association has been called multiple times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts are parallel arrays. --> <string-array name="config_companionDevicePackages" translatable="false"> <item>YOUR_COMPANION_APP_PACKAGE_NAME</item> </string-array> <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the main device. It will fall back to showing a prompt if the association has been called multiple times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage are parallel arrays. Example: "1A:2B:3C:4D" --> <string-array name="config_companionDeviceCerts" translatable="false"> <item>YOUR_COMPANION_APP_CERTIFICATE</item> </string-array>
ใช้
AssociationRequest
เพื่อส่งคำขอเชื่อมโยงไปยังอุปกรณ์คู่หูเครื่องเดียว
การตรวจสอบ
หากต้องการทดสอบลักษณะการทำงานของฟีเจอร์โปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน ให้ใช้การทดสอบ CTS ใน cts/tests/tests/companion/