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