نمایه دستگاه همراه، که در اندروید 12 معرفی شده است، قابلیتی است که به برنامههای همراه اجازه میدهد مجموعهای از مجوزهای خاص برای نوع دستگاه همراه، به عنوان مثال، ساعت هوشمند را درخواست کنند. استفاده از نمایه دستگاه همراه، فرآیند ثبتنام را سادهتر میکند و به برنامهها اجازه میدهد تا یک درخواست واحد را به کاربران در دستگاههای تلفن همراه خود نمایش دهند تا مجموعهای از مجوزها را بهجای درخواستهای چندگانه که بهصورت جداگانه درخواست میکنند، درخواست کنند. این میتواند تجربه راهاندازی سادهتر و نرخهای انتخاب بهتر برای برنامههای همراه را فراهم کند.
برای استفاده از نمایههای دستگاه همراه، برنامههای همراه باید شرایط زیر را داشته باشند:
- یک دستگاه همراه (مثلاً یک ساعت هوشمند) را مدیریت کنید.
- ویژگیهای برنامه داشته باشید یا با APIهای Android تماس بگیرید که به تمام مجوزهای تعریف شده برای نمایه دستگاه همراه نیاز دارند.
هر نمایه دستگاه همراه مربوط به یک نقش Android است. برای اطلاعات بیشتر درباره مجوزها و نقش Android مربوط به هر نمایه، به نمایههای دستگاه همراه برای برنامههای شخص ثالث مراجعه کنید.
برای اطلاعات بیشتر درباره دستگاههای همراه، به جفتسازی دستگاه همراه مراجعه کنید.
رفتار دستگاه
این بخش رفتار دستگاه را هنگام استفاده از نمایه های دستگاه همراه توضیح می دهد.
هنگامی که کاربر درخواست برنامه ای را برای ایجاد ارتباط با دستگاه همراه می پذیرد، سرویس CompanionDeviceManager
(CDM) نقش نمایه دستگاه (مثلاً تماشا) را به برنامه همراه اختصاص می دهد و تمام مجوزهای تعریف شده برای آن نقش نمایه مشخص شده را اعطا می کند. شکل 1 نمونه ای از برنامه درخواست مجوز برای نمایه دستگاه COMPANION_DEVICE_WATCH
را نشان می دهد.
شکل 1. گفتگوی درخواست مجوز برای نمایه دستگاه ساعت.
وقتی کاربر دادههای بسته را در تنظیمات پاک میکند یا همه دستگاههای موجود در برنامه همراه را حذف میکند، CDM نمایه را لغو میکند در حالی که برنامه در پیشزمینه اجرا نمیشود و سرویس پیشزمینه در حال اجرا نیست. با لغو نمایه تمام مجوزهای تعریف شده برای نمایه نیز لغو می شود.
پس از اینکه کاربر درخواست یک برنامه برای اعطای مجوز برای نمایه دستگاه خاص را پذیرفت، کاربر می تواند مجوزهای فردی را که اعطا شده است لغو کند. هنگامی که یک مجوز توسط یک کاربر لغو می شود، برنامه همچنان با دستگاه همراه مرتبط می ماند اما برخی از ویژگی ها ممکن است در دسترس نباشند. اگر مجوز برای عملکرد برنامه مورد نیاز است، برنامه باید از طریق یک درخواست مجوز عادی درخواست مجوز کند.
نمایههای دستگاه همراه برای برنامههای شخص ثالث
نمایه تماشا
پروفایل ساعت در اندروید 12 معرفی شده است.
جدول زیر مجوزهای تعریف شده برای نمایه دستگاه COMPANION_DEVICE_WATCH
و الزامات استفاده از آنها را توضیح می دهد.
مجوزها | برنامه همراه و الزامات دستگاه |
---|---|
اطلاعیه هاBIND_NOTIFICATION_LISTENER_SERVICE |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
پروفیل عینک
نمایه عینک در اندروید 14 معرفی شده است.
جدول زیر مجوزهای تعریف شده برای نمایه دستگاه COMPANION_DEVICE_GLASSES
و الزامات استفاده از آنها را توضیح می دهد.
مجوزها | برنامه همراه و الزامات دستگاه |
---|---|
اطلاعیه هاBIND_NOTIFICATION_LISTENER_SERVICE 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/
استفاده کنید.