โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันซึ่งเปิดตัวใน 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 |
|
โปรไฟล์แว่นตา
โปรไฟล์แว่นตาเปิดตัวใน 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/