במכשירים עם Android מגרסה 15 ואילך, אפשר להפעיל אפליקציות ב-Android Auto ישירות ביחידה הראשית, בקטגוריות נתמכות של אפליקציות כשהרכב חונה. מידע נוסף על חוויית המשתמש באפליקציות בזמן חניה ב-Android Auto זמין במאמר בנושא אפליקציות בזמן חניה.
הצהרה על תמיכה ב-Android Auto
כדי להצהיר שהאפליקציה תומכת ב-Android Auto, צריך לכלול את הרכיב <category> הבא במסנן ה-Intent של פעילות במניפסט של האפליקציה:
<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
כדי לספק חוויית משתמש מיטבית, מומלץ לוודא שהאפליקציה מותאמת באופן מלא לגדלי מסך שונים. כדי להבטיח חוויה איכותית במגוון המכוניות שתומכות ב-Android Auto, האפליקציות לא יכולות להיות מוצגות עם עמודות שחורות משמעותיות במסכים לרוחב, כפי שמצוין בהנחיית האיכות DO-2 לאפליקציות למכוניות.
לדוגמה, אם אפליקציה פועלת ביחס גובה-רוחב של פורטרט עם pillarboxing במסך לרוחב, היא תידחה במהלך הבדיקה בחנות Play. אפליקציה שפועלת ביחס גובה-רוחב לרוחב עם pillarboxing מינימלי במסך לרוחב היא מקובלת, כמו גם אפליקציה שפועלת ביחס גובה-רוחב לרוחב עם letterboxing במסך לאורך.
בדיקה מול גדלי מסך קנוניים
כשמפתחים את האפליקציה ל-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
אם רוצים לזהות מתי משתמשים באפליקציה דרך Android Auto (למשל, למטרות ניתוח), אפשר לבדוק שני אותות:
- מצב החיבור שמדווח על ידי
CarConnectionAPI. כש-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