افزودن پشتیبانی از 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 استفاده می‌شود (مثلاً برای اهداف تجزیه‌وتحلیل)، می‌توانید به دو نشانه نگاه کنید:

  • وضعیت اتصال گزارش‌شده توسط API CarConnection. وقتی 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)