پشتیبانی از Android Auto را به برنامه پارک شده خود اضافه کنید

در دستگاه‌هایی که اندروید ۱۵ یا بالاتر دارند، اندروید اتو از اجرای برنامه‌ها در دسته‌های برنامه‌های پارک‌شده‌ی پشتیبانی‌شده مستقیماً روی دستگاه اصلی پشتیبانی می‌کند. برای اطلاعات بیشتر در مورد تجربه کاربری برنامه‌های پارک‌شده در اندروید اتو، به برنامه‌های پارک‌شده مراجعه کنید.

اعلام پشتیبانی از اندروید اتو

برای اعلام اینکه برنامه شما از Android Auto پشتیبانی می‌کند، باید عنصر <category> زیر را در فیلتر intent یک activity در manifest برنامه خود قرار دهید:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

به طور کلی، عنصر دسته بندی android.intent.category.CAR_LAUNCHER می‌تواند در همان فیلتر intent عنصر android.intent.category.LAUNCHER قرار گیرد، اما در صورت تمایل می‌تواند در فیلتر دیگری باشد.

ورودی‌های مانیفست مختص هر دسته

علاوه بر الزام قبلی، بازی‌ها یک الزام اضافی نیز دارند. به بخش «علامت‌گذاری برنامه به عنوان بازی» مراجعه کنید.

پشتیبانی از اندازه‌های رایج صفحه نمایش اندروید اتو

برای بهترین تجربه کاربری، توصیه می‌کنیم برنامه خود را کاملاً با اندازه‌های مختلف صفحه نمایش سازگار کنید. حداقل، برای اطمینان از یک تجربه با کیفیت بالا در انواع خودروهایی که از Android Auto پشتیبانی می‌کنند، برنامه‌ها نباید به طور قابل توجهی در صفحه نمایش‌های افقی (landscape) در ستون‌های کوچک قرار گیرند، همانطور که در دستورالعمل کیفیت برنامه خودرو DO-2 آمده است.

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

تست در برابر اندازه‌های صفحه نمایش متعارف

هنگام ساخت و آزمایش برنامه خود برای Android Auto، می‌توانید از پیکربندی‌های Desktop Head Unit (DHU) زیر برای تأیید مطابقت برنامه خود با الزامات قبلی استفاده کنید:

منظره کوچک

[general]
resolution = 800x480
dpi = 160
...

منظره وسیع

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

پرتره

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

تشخیص میزان استفاده در اندروید اتو

اگر می‌خواهید تشخیص دهید که چه زمانی برنامه شما از طریق Android Auto مورد استفاده قرار می‌گیرد (مثلاً برای اهداف تحلیلی)، می‌توانید به دو سیگنال نگاه کنید:

  • وضعیت اتصال گزارش شده توسط CarConnection API. وقتی Android Auto متصل می‌شود، این CONNECTION_TYPE_PROJECTION خواهد بود.
  • شناسه نمایش نمایشگر فعال. وقتی برنامه شما روی نمایشگری غیر از نمایشگر داخلی اجرا می‌شود، مانند زمانی که از طریق Android Auto استفاده می‌شود، این مقداری غیر از DEFAULT_DISPLAY است.

قطعه کد زیر نحوه ترکیب این سیگنال‌ها را برای تشخیص میزان استفاده از طریق Android Auto نشان می‌دهد:

val connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY