الملف الشخصي للأجهزة المصاحبة، الذي تم تقديمه في نظام التشغيل 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/.