โปรไฟล์อุปกรณ์คู่หู

โปรไฟล์อุปกรณ์คู่หูที่เปิดตัวใน Android 12 เป็นฟีเจอร์ที่ช่วยให้แอปคู่หูสามารถขอชุดสิทธิ์เฉพาะสำหรับประเภทของอุปกรณ์คู่หู เช่น สมาร์ทวอทช์ การใช้โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันช่วยลดความยุ่งยากในขั้นตอนการลงทะเบียนโดยอนุญาตให้แอปแสดงพร้อมท์เดียวให้ผู้ใช้บนอุปกรณ์เคลื่อนที่ของตนขอชุดสิทธิ์ที่กำหนดไว้ แทนที่จะแสดงพร้อมท์หลายรายการเพื่อขอสิทธิ์ทีละรายการ ซึ่งจะทำให้ได้รับประสบการณ์การตั้งค่าที่คล่องตัวยิ่งขึ้นและอัตราการเลือกใช้แอปที่แสดงร่วมกันดีขึ้น

หากต้องการใช้โปรไฟล์อุปกรณ์ที่แสดงร่วม แอปที่แสดงร่วมจะต้องเป็นไปตามข้อกำหนดต่อไปนี้:

  • จัดการอุปกรณ์ที่ใช้ร่วมกัน (เช่น สมาร์ทวอทช์)
  • มีฟีเจอร์ของแอปหรือเรียกใช้ Android API ที่ต้องการสิทธิ์ทั้งหมดที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน

โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันแต่ละโปรไฟล์สอดคล้องกับบทบาทของ Android สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการอนุญาตและบทบาท Android ที่เกี่ยวข้องของแต่ละโปรไฟล์ โปรดดู โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันสำหรับแอปของบุคคลที่สาม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์สหาย โปรดดูที่ การจับคู่อุปกรณ์สหาย

ลักษณะการทำงานของอุปกรณ์

ส่วนนี้จะอธิบายลักษณะการทำงานของอุปกรณ์เมื่อใช้โปรไฟล์อุปกรณ์คู่หู

เมื่อผู้ใช้ยอมรับคำขอของแอปในการสร้างการเชื่อมโยงกับอุปกรณ์ที่แสดงร่วม บริการ CompanionDeviceManager (CDM) จะมอบหมายบทบาทของโปรไฟล์อุปกรณ์ (เช่น นาฬิกา) ให้กับแอปที่แสดงร่วม โดยให้สิทธิ์ทั้งหมดที่กำหนดไว้สำหรับบทบาทโปรไฟล์ที่ระบุนั้น รูปที่ 1 แสดงตัวอย่างแอปที่ขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH

ดูข้อความโต้ตอบโปรไฟล์อุปกรณ์

รูปที่ 1 กล่อง โต้ตอบขอสิทธิ์สำหรับโปรไฟล์อุปกรณ์นาฬิกา

เมื่อผู้ใช้ล้างข้อมูลแพ็คเกจในการตั้งค่าหรือลบอุปกรณ์ทั้งหมดในแอพที่แสดงร่วมกัน CDM จะเพิกถอนโปรไฟล์ในขณะที่แอพไม่ได้ทำงานอยู่เบื้องหน้าหรือไม่ได้ทำงานบริการเบื้องหน้าอยู่ การเพิกถอนโปรไฟล์จะเพิกถอนสิทธิ์ที่กำหนดไว้ทั้งหมดสำหรับโปรไฟล์ด้วย

หลังจากที่ผู้ใช้ยอมรับคำขอของแอพในการให้สิทธิ์สำหรับโปรไฟล์อุปกรณ์เฉพาะ ผู้ใช้สามารถเพิกถอนสิทธิ์แต่ละรายการที่ได้รับได้ เมื่อผู้ใช้เพิกถอนสิทธิ์ แอปจะยังคงเชื่อมโยงกับอุปกรณ์คู่หู แต่ฟีเจอร์บางอย่างอาจไม่พร้อมใช้งาน หากจำเป็นต้องได้รับอนุญาตเพื่อให้แอปทำงานได้ แอปจะต้องขออนุญาตผ่าน การร้องขอสิทธิ์ ตามปกติ

โปรไฟล์อุปกรณ์คู่หูสำหรับแอปของบุคคลที่สาม

ดูโปรไฟล์

โปรไฟล์นาฬิกาเปิดตัวใน Android 12

ตารางต่อไปนี้อธิบายสิทธิ์ที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_WATCH และข้อกำหนดในการใช้งาน

สิทธิ์ ข้อกำหนดของแอปและอุปกรณ์ที่ใช้ร่วมกัน
การแจ้งเตือน

BIND_NOTIFICATION_LISTENER_SERVICE
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอที่สามารถแสดงการแจ้งเตือนได้ (ยกเว้นอุปกรณ์ที่ใช้ระบบสัมผัสแทนหน้าจอ)
  • มอบประสบการณ์การแจ้งเตือนแบบเห็นหน้าผู้ใช้ เช่น การแสดงการแจ้งเตือนทางโทรศัพท์บนหน้าจออุปกรณ์ที่ใช้ร่วมกัน
Phone
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีไมโครโฟนและลำโพงในตัวที่สามารถสนทนาด้วยเสียงได้
  • มีหน้าจอแสดงข้อมูลผู้โทร
  • มอบประสบการณ์การโทรแบบเห็นหน้าผู้ใช้ (แอปคู่หูเชื่อมโยงการโทร)
SMS
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงข้อความ SMS
  • มอบประสบการณ์ SMS ต่อหน้าผู้ใช้
Contacts
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • ใช้ข้อมูลการติดต่อเป็นส่วนหนึ่งของประสบการณ์การโทรหรือการส่งข้อความ
Calendar
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • มอบประสบการณ์ปฏิทินแบบเผชิญหน้ากับผู้ใช้บนนาฬิกา
Nearby devices
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • มอบประสบการณ์การจับคู่/การเชื่อมต่อแบบหันหน้าเข้าหาผู้ใช้บนนาฬิกา
eSIM provisioning
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • มอบประสบการณ์แบบเผชิญหน้าผู้ใช้ที่จัดการบริการของสมาชิกจากผู้ให้บริการบนนาฬิกา
Managing ongoing calls
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีไมโครโฟนและลำโพงในตัวที่สามารถสนทนาด้วยเสียงได้
  • มีหน้าจอแสดงข้อมูลผู้โทร
  • มอบประสบการณ์การโทรแบบเห็นหน้าผู้ใช้ (แอปคู่หูเชื่อมโยงการโทร)

โปรไฟล์แว่นตา

โปรไฟล์ Glasses เปิดตัวใน Android 14

ตารางต่อไปนี้อธิบายสิทธิ์ที่กำหนดไว้สำหรับโปรไฟล์อุปกรณ์ COMPANION_DEVICE_GLASSES และข้อกำหนดในการใช้งาน

สิทธิ์ ข้อกำหนดของแอปและอุปกรณ์ที่ใช้ร่วมกัน
การแจ้งเตือน

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอที่สามารถแสดงการแจ้งเตือนได้ (ยกเว้นอุปกรณ์ที่ใช้ระบบสัมผัสแทนหน้าจอ)
  • มอบประสบการณ์การแจ้งเตือนแบบเห็นหน้าผู้ใช้ เช่น การแสดงการแจ้งเตือนทางโทรศัพท์บนหน้าจออุปกรณ์ที่ใช้ร่วมกัน
  • โพสต์การแจ้งเตือนทางโทรศัพท์สำหรับการจัดการอุปกรณ์ เช่น เมื่อมีการเชื่อมต่ออุปกรณ์แว่นตาหรือเมื่อเปิดใช้งานคุณลักษณะเฉพาะ
Phone
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีไมโครโฟนและลำโพงในตัวที่สามารถสนทนาด้วยเสียงได้
  • มีหน้าจอแสดงข้อมูลผู้โทร
  • มอบประสบการณ์การโทรแบบเห็นหน้าผู้ใช้ (แอปคู่หูเชื่อมโยงการโทร)
SMS
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงข้อความ SMS
  • มอบประสบการณ์ SMS ต่อหน้าผู้ใช้
Contacts
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • ใช้ข้อมูลการติดต่อเป็นส่วนหนึ่งของประสบการณ์การโทรหรือการส่งข้อความ
Microphone
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • มอบประสบการณ์ไมโครโฟนที่หันหน้าเข้าหาผู้ใช้บนแว่นตา
Nearby devices
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีหน้าจอแสดงผล
  • มอบประสบการณ์การจับคู่/การเชื่อมต่อแบบหันหน้าเข้าหาผู้ใช้บนแว่นตา
Managing ongoing calls
  • เป็นอุปกรณ์ที่เชื่อมต่อโดยใช้ Bluetooth และ/หรือ Wi-Fi
  • มีไมโครโฟนและลำโพงในตัวที่สามารถสนทนาด้วยเสียงได้
  • มีหน้าจอแสดงข้อมูลผู้โทร
  • มอบประสบการณ์การโทรแบบเห็นหน้าผู้ใช้ (แอปคู่หูเชื่อมโยงการโทร)

การนำไปปฏิบัติ

สำหรับนักพัฒนาบุคคลที่สามที่ใช้งานแอพคู่หูที่ขอโปรไฟล์ DEVICE_PROFILE_WATCH ให้ทำดังต่อไปนี้:

  1. เรียกเมธอด setDeviceProfile

  2. ส่งผ่านโปรไฟล์ (เช่น DEVICE_PROFILE_WATCH เมื่อสร้าง AssociationRequest

สำหรับผู้ผลิตอุปกรณ์ที่ใช้แอปที่แสดงร่วมกับอุปกรณ์เฉพาะ ให้ใช้การกำหนดค่าระบบ Android ที่จำเป็นต่อไปนี้เพื่อรับรองแอปที่แสดงร่วม ซึ่งช่วยให้แอปข้ามการแสดงกล่องโต้ตอบคำยินยอมของผู้ใช้สำหรับผู้ใช้ได้

  1. ดึงใบรับรองโดยใช้คำสั่งต่อไปนี้:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. แทนที่ชื่อแพ็กเกจและใบรับรองตามที่แสดงในอินพุตตัวอย่างต่อไปนี้ในไฟล์กำหนดค่า:

    <!-- 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>
    
  3. ใช้ AssociationRequest เพื่อส่งคำขอเชื่อมโยงไปยังอุปกรณ์คู่หูเครื่องเดียว

การตรวจสอบ

หากต้องการทดสอบลักษณะการทำงานของฟีเจอร์โปรไฟล์อุปกรณ์ที่ใช้ร่วมกัน ให้ใช้การทดสอบ CTS ใน cts/tests/tests/companion/