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

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

اعلام پشتیبانی Android Auto

برای اعلام اینکه برنامه‌تان از Android Auto پشتیبانی می‌کند، باید عنصر <category> زیر را در فیلتر قصد فعالیتی در مانیفست برنامه‌تان درج کنید:

<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 می‌تواند در همان فیلتر قصد عنصر android.intent.category.LAUNCHER قرار گیرد، اما درصورت تمایل می‌تواند در فیلتر قصد دیگری قرار گیرد.

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

علاوه‌بر شرط قبلی، بازی‌ها شرط دیگری هم دارند. علامت‌گذاری برنامه به‌عنوان بازی را ببینید.

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

برای ارائه بهترین تجربه کاربری، توصیه می‌کنیم برنامه‌تان را کاملاً تطبیق‌پذیر با اندازه‌های مختلف صفحه‌نمایش بسازید. برای اطمینان از تجربه با کیفیت بالا در انواع خودروهایی که از Android Auto پشتیبانی می‌کنند، برنامه‌ها نباید در صفحه‌نمایش‌های افقی به‌طور قابل‌توجهی تصویر باریک داشته باشند، همان‌طور که در دستورالعمل کیفیت برنامه خودرو DO-2 ثبت شده است.

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

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

هنگام ساختن و آزمایش کردن برنامه‌تان برای Android Auto، می‌توانید از پیکربندی‌های «واحد اصلی رایانه» (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

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

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

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

val displayId = context.display?.displayId ?: DEFAULT_DISPLAY
isRunningOnAndroidAuto = (connectionType == CONNECTION_TYPE_PROJECTION) && (displayId != DEFAULT_DISPLAY)