نمای کلی سیستم عامل Android Automotive

رابط کاربری سیستم عامل Android Automotive
شکل 1 : سیستم عامل Android Automotive

سیستم‌عامل Android Automotive نسخه‌ای از اندروید بهینه‌سازی شده برای استفاده در خودرو است که بر روی پلتفرم اصلی Android گسترش یافته است. خودروهایی که دارای Google داخلی هستند، سیستم‌عامل Android Automotive را اجرا می‌کنند و با برنامه‌ها و سرویس‌های Google از جمله Google Play، Google Assistant، و Google Maps عرضه می‌شوند.

درباره سخت افزار Android Automotive OS بیاموزید

برای کسب اطلاعات بیشتر در مورد حداقل مشخصات سخت افزاری برای دستگاه های دارای سیستم عامل Android Automotive، به بخش الزامات خودرو در سند تعریف سازگاری Android (CDD) برای نسخه(های) Android که برنامه شما پشتیبانی می کند، مراجعه کنید.

نمایش برش ها

مانند سایر فاکتورهای فرم اندروید، بریدگی های نمایشگر توسط دستگاه های سیستم عامل Android Automotive با نمایشگرهای غیر مستطیلی پشتیبانی می شوند. با این حال، اندازه و شکل برش های موجود در اتومبیل ها می تواند کاملاً متفاوت از موارد موجود در سایر عوامل باشد. برای راهنمایی دقیق، کار با ورودی های پنجره و برش های نمایشگر را ببینید.

صوتی

دستگاه‌های سیستم‌عامل Android Automotive معمولاً دستگاه‌هایی با حجم ثابت هستند. برای کسب اطلاعات بیشتر در مورد اینکه چگونه این ممکن است بر برنامه شما تأثیر بگذارد، به کار با دستگاه‌های با حجم ثابت مراجعه کنید.

با نرم افزار Android Automotive OS آشنا شوید

در حالی که سیستم عامل Android Automotive بر اساس همان سیستم عامل اصلی است که توسط سایر عوامل استفاده می شود، برخی از ویژگی های اضافی منحصر به فرد وجود دارد که می تواند بر نحوه توسعه و استفاده از برنامه ها تأثیر بگذارد.

رابط کاربری سیستم

تفاوت هایی در نحوه عملکرد این عناصر رابط کاربری سیستم در خودروها وجود دارد که باید از آنها آگاه باشید.

برخلاف سایر فاکتورهای شکلی، هیچ الزامی برای دستگاه‌های سیستم‌عامل Android Automotive وجود ندارد که توانایی سخت‌افزاری یا نرم‌افزاری را داشته باشند. وقتی در حالت سازگاری اجرا نمی‌شود، فعالیت‌هایی که برنامه شما اجرا می‌کند باید شامل هزینه‌های رابط کاربری باشد تا پیمایش درون‌برنامه را برای مطابقت با دستورالعمل‌های کیفیت AN-1 فعال کند.

طرح بندی نوار سیستم

همانند سایر فاکتورهای شکل، سیستم عامل Android Automotive شامل نوارهای سیستمی مانند نوارهای وضعیت و نوارهای ناوبری است. در خودروها، این میله‌ها ممکن است اندازه و موقعیت متفاوتی نسبت به سایر فاکتورها داشته باشند. به عنوان مثال، نوارهای پیمایش ممکن است در سمت چپ، راست یا پایین صفحه قرار گیرند. حتی در صورتی که یک نوار وضعیت در بالا و یک نوار ناوبری در پایین وجود داشته باشد (همانطور که در مورد اکثر تلفن ها و تبلت ها وجود دارد)، اندازه این عناصر احتمالاً در اتومبیل ها بسیار بیشتر خواهد بود.

علاوه بر این، در حالی که بریدگی‌های نمایشگر روی دستگاه‌های تلفن همراه عموماً در محدوده نوارهای سیستم قرار دارند، این مورد در اتومبیل‌ها صادق نیست.

برای راهنمایی دقیق، کار با ورودی های پنجره و برش های نمایشگر را ببینید.

حالت فراگیر

سیستم عامل Android Automotive به OEM ها اجازه می دهد کنترل کنند که آیا برنامه ها می توانند نوارهای سیستم را برای ورود و خروج از حالت همهجانبه نمایش یا پنهان کنند یا خیر. با جلوگیری از پنهان کردن نوارهای سیستم توسط برنامه‌ها، OEMها می‌توانند اطمینان حاصل کنند که کنترل‌های خودرو، مانند کنترل‌های آب و هوا، همیشه روی صفحه قابل دسترسی هستند.

محدودیت های تجربه کاربر

محدودیت‌های تجربه کاربر (UX) قابلیتی است که در سیستم عامل Android Automotive تعبیه شده است تا ملاحظات حواس‌پرتی راننده را مدیریت کند. محدودیت‌های UX مسئول جلوگیری خودکار از استفاده از برنامه‌هایی هستند که برای استفاده در حین رانندگی بهینه‌سازی نشده‌اند.

فعالیت مسدودکننده فعالیت روی برنامه‌ای که به‌عنوان علامت‌گذاری نشده نشان داده می‌شود     حواس پرتی بهینه شده است
شکل 2 : برنامه ای که توسط محدودیت های UX مسدود شده است

مجموعه دقیق قوانینی که تعیین می کند محدودیت های UX چگونه و چه زمانی فعال هستند، توسط سازندگان خودرو تعیین می شود. این قوانین ممکن است بسته به جغرافیا متفاوت باشد - برای مثال، خودرویی که در اروپا فروخته می‌شود ممکن است قوانین متفاوتی نسبت به خودروهای فروخته شده در ایالات متحده داشته باشد.

قوانین محدودیت UX نیز می تواند بر اساس نمایشگر داخل خودرو متفاوت باشد. به عنوان مثال، ممکن است یک نمایشگر مرکزی در خط دید راننده در حالی که وسیله نقلیه در حال حرکت است محدود شود در حالی که نمایشگر سرنشین بدون محدودیت باقی بماند.

اگر برنامه شما نیاز به تطبیق با محدودیت‌های UX دارد، مستقیماً به آنها ارجاع دهید - سعی نکنید پیاده‌سازی آنها را مهندسی معکوس کنید. به عنوان مثال، اگر فرض کنید محدودیت‌های UX زمانی فعال هستند که دنده پارک نیست، ممکن است برنامه‌ای را که روی صفحه‌نمایش سرنشین اجرا می‌شود محدود کنید.

بهینه سازی حواس پرتی

به‌طور پیش‌فرض، فعالیت‌ها را نمی‌توان در حالی که محدودیت‌های UX فعال هستند اجرا کرد تا حواس‌پرتی راننده را محدود کند. برای نشان دادن اینکه یک فعالیت باید در حالی که خودرو در حال حرکت است به سیستم ادامه دهد، عنصر <meta-data> زیر را می توان در عنصر <activity> مربوطه اضافه کرد.

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

هنگام توسعه برنامه‌ها برای سیستم‌عامل Android Automotive، تنها زمانی که این ابرداده باید در مانیفست شما وجود داشته باشد، زمانی است که عنصر مانیفست <activity> را برای CarAppActivity یک برنامه ساخته شده با استفاده از کتابخانه برنامه خودرو اعلام می‌کنید . هیچ فعالیت دیگری نباید به‌عنوان حواس‌پرتی بهینه‌شده علامت‌گذاری شود - اگر چنین باشد، برنامه شما پس از ارسال به فروشگاه Google Play رد می‌شود.

قابلیت دسترسی

پشتیبانی دسترس‌پذیری برای سیستم‌عامل Android Automotive به اندازه سایر فاکتورها گسترده نیست. TalkBack ، Switch Access ، و Voice Access در دستگاه‌های Android Automotive OS در دسترس نیستند.

تنظیمات برگزیده زیرنویس در دستگاه‌های دارای سیستم عامل Android Automotive پشتیبانی می‌شوند. برای جزئیات ادغام به تنظیمات زیرنویس سیستم مراجعه کنید.

انتخاب شبکه

سیستم عامل Android Automotive از انتخاب شبکه به ازای هر برنامه (PANS) پشتیبانی می کند، که به OEM ها اجازه می دهد ترافیک شبکه تلفن همراه را به شبکه های مختلف بر اساس برنامه به برنامه هدایت کنند.

اکثر برنامه‌ها فقط از شبکه پیش‌فرض اختصاص داده شده به آن‌ها استفاده می‌کنند و فقط از این ویژگی بهره می‌برند – برای مثال، OEM ممکن است هزینه ترافیک شبکه را از برنامه شما بپردازد حتی اگر کاربر برنامه داده خود را نداشته باشد. اگر برنامه شما (یا یکی از وابستگی‌های آن) به شبکه‌هایی غیر از شبکه پیش‌فرض متکی است، ممکن است از تنظیمات برگزیده تنظیم‌شده توسط OEM بهره نبرد. برای راهنمایی بیشتر در مورد استفاده از شبکه هایی غیر از حالت پیش فرض ، به خواندن وضعیت شبکه مراجعه کنید.

ویژگی های سیستم

شما می توانید با استفاده از PackageManager::hasSystemFeature مشخص کنید که آیا یک ویژگی مشخص در دسترس است یا خیر و رفتار برنامه خود را بر اساس آن تنظیم کنید.

ویژگی های سخت افزاری

همانند سایر فرم فاکتورهای غیر همراه، ویژگی های سخت افزاری موجود در خودروها ممکن است با موارد موجود در دستگاه های تلفن همراه متفاوت باشد.

جهت صفحه نمایش

مانند تلویزیون ها، اتومبیل ها دستگاه های جهت گیری ثابت هستند. بر خلاف تلویزیون ها، آنها در هر دو جهت عمودی و افقی ارائه می شوند. برای اطمینان از اینکه برنامه‌های ساخته‌شده برای سیستم‌عامل Android Automotive می‌توانند در همه وسایل نقلیه توزیع شوند، برنامه‌ها باید مطمئن شوند که برای ویژگی‌های android.hardware.screen.landscape یا android.hardware.screen.portrait نیازی به ویژگی صریح یا ضمنی ندارند.

مکان شبکه

بسیاری از دستگاه‌های سیستم‌عامل Android Automotive پشته تلفن مورد استفاده برای ارائه موقعیت شبکه را پیاده‌سازی نمی‌کنند و بنابراین ویژگی سیستم android.hardware.location.network را گزارش نمی‌کنند. اگرچه مکان شبکه ممکن است در دسترس نباشد، دسترسی به موقعیت مکانی درشت همچنان پشتیبانی می‌شود - به مکان درشت در سیستم عامل Android Automotive مراجعه کنید.

ویژگی های نرم افزار

برخی از ویژگی‌های نرم‌افزاری که معمولاً در فرم فاکتورهای دیگر یافت می‌شوند ممکن است در دستگاه‌های Android Automotive OS پشتیبانی نشوند. به عنوان مثال، ویژگی های زیر در بسیاری از خودروهای سیستم عامل Android Automotive در دسترس نیستند:

سوالات متداول

کدام خودروها با گوگل داخلی عرضه می شوند؟

برای لیستی از OEM هایی که دارای مدل هایی با Google داخلی هستند، به سایت داخلی Cars with Google مراجعه کنید. مشخصات سخت افزاری و سایر جزئیات دستگاه را می توان با استفاده از کاتالوگ دستگاه کنسول Play بدست آورد.