駐車時向けアプリに 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 でアプリが使用されているタイミングを検出するには、次の 2 つのシグナルを確認します。

  • CarConnection API によって報告される接続状態。Android Auto が接続されている場合は CONNECTION_TYPE_PROJECTION になります。
  • アクティブなディスプレイのディスプレイ ID。アプリが組み込み画面以外のディスプレイで実行されている場合(Android Auto で使用されている場合など)は、DEFAULT_DISPLAY 以外の値になります。

次のスニペットは、これらのシグナルを組み合わせて Android Auto での使用を検出する方法を示しています。

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