โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันซึ่งเปิดตัวใน Android 12 เป็นฟีเจอร์ที่อนุญาตให้แอปที่ใช้ร่วมกันขอชุดสิทธิ์เฉพาะสำหรับประเภทของอุปกรณ์ที่ใช้ร่วมกัน เช่น สมาร์ทวอทช์ การใช้โปรไฟล์อุปกรณ์ที่มาพร้อมเครื่องจะลดความซับซ้อนของกระบวนการลงทะเบียนด้วยการอนุญาตให้แอปแสดงข้อความแจ้งเดียวแก่ผู้ใช้ในอุปกรณ์เคลื่อนที่เพื่อขอชุดสิทธิ์ที่กําหนดแทนที่จะมีข้อความแจ้งหลายรายการที่ขอสิทธิ์ทีละรายการ ซึ่งจะช่วยให้การตั้งค่ามีประสิทธิภาพมากขึ้นและอัตราการเลือกใช้แอปที่ใช้ร่วมกันดีขึ้น
หากต้องการใช้โปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน แอปที่ใช้ร่วมกันต้องเป็นไปตามข้อกำหนดต่อไปนี้
- จัดการอุปกรณ์ที่ใช้ร่วมกัน (เช่น สมาร์ทวอทช์)
- มีฟีเจอร์ของแอปหรือเรียกใช้ Android API ที่ต้องมีสิทธิ์ทั้งหมดที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน
โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันแต่ละรายการจะสอดคล้องกับบทบาท Android ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์และบทบาท Android ที่เกี่ยวข้องของโปรไฟล์แต่ละรายการได้ที่โปรไฟล์อุปกรณ์ที่มาพร้อมแอปของบุคคลที่สาม
ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์เสริมได้ที่การจับคู่อุปกรณ์เสริม
ลักษณะการทํางานของอุปกรณ์
ส่วนนี้จะอธิบายถึงลักษณะการทำงานของอุปกรณ์เมื่อมีการใช้โปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน
เมื่อผู้ใช้ยอมรับคําขอของแอปในการสร้างการเชื่อมโยงกับอุปกรณ์ที่มาพร้อมเครื่อง บริการ CompanionDeviceManager
(CDM) จะกําหนดบทบาทโปรไฟล์อุปกรณ์ (เช่น ดู) ให้กับแอปที่มาพร้อมเครื่อง โดยให้สิทธิ์ทั้งหมดที่กําหนดไว้สําหรับบทบาทโปรไฟล์ที่ระบุ
รูปที่ 1 แสดงตัวอย่างแอปที่ขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH
รูปที่ 1 กล่องโต้ตอบขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์นาฬิกา
เมื่อผู้ใช้ล้างข้อมูลแพ็กเกจในการตั้งค่าหรือนำอุปกรณ์ทั้งหมดในแอปที่ใช้ร่วมกันออก CDM จะเพิกถอนโปรไฟล์ขณะที่แอปไม่ได้ทำงานอยู่เบื้องหน้าหรือไม่มีบริการที่ทำงานอยู่เบื้องหน้า การเพิกถอนโปรไฟล์จะเป็นการเพิกถอนสิทธิ์ที่กําหนดไว้ทั้งหมดสําหรับโปรไฟล์ด้วย
หลังจากผู้ใช้ยอมรับคําขอของแอปเพื่อให้สิทธิ์สําหรับโปรไฟล์อุปกรณ์หนึ่งๆ แล้ว ผู้ใช้สามารถเพิกถอนสิทธิ์แต่ละรายการที่อนุญาตได้ เมื่อผู้ใช้เพิกถอนสิทธิ์ แอปจะยังคงเชื่อมโยงกับอุปกรณ์เสริม แต่ฟีเจอร์บางอย่างอาจใช้งานไม่ได้ หากแอปต้องใช้สิทธิ์เพื่อให้ทำงานได้ แอปจะต้องขอสิทธิ์ผ่านคำขอสิทธิ์ตามปกติ
โปรไฟล์อุปกรณ์เสริมสำหรับแอปของบุคคลที่สาม
โปรไฟล์การดู
โปรไฟล์นาฬิกาเปิดตัวใน Android 12
ตารางต่อไปนี้อธิบายสิทธิ์ที่กําหนดไว้สําหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH
และข้อกําหนดในการใช้งาน
สิทธิ์ | ข้อกำหนดของแอปที่ใช้ร่วมกันและอุปกรณ์ |
---|---|
การแจ้งเตือน
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
โปรไฟล์แว่นตา
โปรไฟล์ Glasses เปิดตัวใน Android 14
ตารางต่อไปนี้อธิบายสิทธิ์ที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_GLASSES
และข้อกำหนดในการใช้สิทธิ์เหล่านั้น
สิทธิ์ | ข้อกำหนดของแอปที่ใช้ร่วมกันและอุปกรณ์ |
---|---|
การแจ้งเตือน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/