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