الملف الشخصي للأجهزة المصاحبة، الذي تم تقديمه في Android 12، هو ميزة تتيح للتطبيقات المصاحبة طلب مجموعة من الأذونات الخاصة بنوع الجهاز المصاحب، مثل ساعة ذكية. يؤدي استخدام ملف شخصي لجهاز مصاحب إلى تبسيط عملية التسجيل من خلال السماح للتطبيقات بعرض طلب واحد للمستخدمين على أجهزتهم الجوّالة لطلب مجموعة محدّدة من الأذونات بدلاً من طلبات متعددة تطلب الأذونات بشكل فردي. ويمكن أن يتيح ذلك تجربة إعداد أكثر سلاسة ومعدّلات موافقة أفضل للتطبيقات المصاحبة.
لاستخدام ملفات تعريف الأجهزة المصاحبة، يجب أن تستوفي التطبيقات المصاحبة المتطلبات التالية:
- إدارة جهاز مصاحب (مثل ساعة ذكية)
- أن تتضمّن ميزات التطبيق أو تتطلّب استدعاء واجهات برمجة تطبيقات Android التي تتطلّب جميع الأذونات المحدّدة لملف تعريف الجهاز المصاحب
يتوافق كل ملف شخصي لجهاز مصاحب مع دور 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/
.