Android Automotive OS の概要

Android Automotive OS のユーザー インターフェース
図 1: Android Automotive OS

Android Automotive OS は、コア Android プラットフォームを拡張し、車内での使用に最適化された Android のバージョンです。Google 搭載の自動車は Android Automotive OS を搭載しており、Google Play、Google アシスタント、Google マップなどの Google アプリやサービスを備えています。

Android Automotive OS のハードウェアについて

Android Automotive OS デバイスの最小ハードウェア仕様の詳細については、アプリがサポートする Android バージョンの Android 互換性定義ドキュメント(CDD)Automotive Requirements セクションをご覧ください。

ディスプレイ カットアウト

他の Android フォーム ファクタと同様に、ディスプレイのカットアウトは、非矩形ディスプレイを搭載した Android Automotive OS デバイスでサポートされています。ただし、自動車の切り欠きのサイズと形状は、他のフォーム ファクタの切り欠きとは大きく異なる場合があります。詳細なガイダンスについては、ウィンドウ インセットとディスプレイ カットアウトを使用するをご覧ください。

音声

Android Automotive OS デバイスは通常、固定音量デバイスです。このことがアプリに与える影響について詳しくは、固定音量デバイスの操作をご覧ください。

Android Automotive OS ソフトウェアについて

Android Automotive OS は他のフォーム ファクタで使用されているものと同じコア オペレーティング システムをベースとしていますが、アプリの開発と使用方法に影響する独自の機能がいくつかあります。

システム UI

これらのシステム UI 要素が自動車で機能する仕組みには、注意すべき違いがいくつかあります。

他のフォーム ファクタとは異なり、Android Automotive OS デバイスにハードウェアまたはソフトウェアの「戻る」アフォーダンスを備える必要はありません。互換モードで実行しない場合は、アプリで実装されたアクティビティに UI アフォーダンスを含めて、アプリ内ナビゲーションを有効にし、AN-1 品質ガイドラインを満たす必要があります。

システムバーのレイアウト

他のフォーム ファクタと同様に、Android Automotive OS には、ステータスバーやナビゲーション バーなどのシステムバーが含まれています。自動車では、これらのバーのサイズと配置が他のフォーム ファクタとは異なる場合があります。たとえば、ナビゲーション バーを画面の左側、右側、下部に配置できます。ほとんどのスマートフォンやタブレットのように、上部にステータスバー、下部にナビゲーション バーがある場合でも、自動車ではこれらの要素のサイズがはるかに大きくなる可能性があります。

また、モバイル デバイスのディスプレイ カットアウトは通常、システムバーの境界内に収まりますが、自動車ではそうではありません。

詳細なガイダンスについては、ウィンドウ インセットとディスプレイ カットアウトを使用するをご覧ください。

没入モード

Android Automotive OS では、アプリが没入モードの開始と終了に合わせてシステムバーの表示と非表示を切り替えられるかどうかを OEM が制御できます。OEM は、アプリがシステムバーを非表示にできないようにして、空調などの車両制御に常に画面からアクセスできるようにすることができます。

ユーザー エクスペリエンスの制限

ユーザー エクスペリエンス(UX)の制限は、運転中の注意散漫を回避するために Android Automotive OS に組み込まれた機能です。UX 制限は、運転中の使用用に最適化されていないアプリの使用を自動的に防止します。

注意散漫防止の最適化済みとしてマークされていないアプリの上に表示されている、アクティビティをブロックするアクティビティ。
図 2: UX の制限によってブロックされているアプリ

UX 制限の有効化方法と有効化タイミングを決定する正確なルールセットは、自動車メーカーによって異なります。これらのルールは地域によって異なる場合があります。たとえば、ヨーロッパで販売される同じ車両でも、米国で販売される車両とは異なるルールが適用される場合があります。

UX 制限ルールは、車両内のディスプレイによって異なる場合もあります。たとえば、車両が走行中は運転者の視界内のセンター ディスプレイを制限し、助手席のディスプレイは制限しないという設定が可能です。

アプリが UX の制限に適応する必要がある場合は、その制限を直接参照してください。実装をリバース エンジニアリングしようとしないでください。たとえば、ギアがパーキング以外の場合に UX 制限が有効になっていると想定すると、乗客用ディスプレイで実行されているアプリが不必要に制限される可能性があります。

注意散漫防止の最適化

デフォルトでは、ドライバーの注意散漫を防ぐため、UX 制限が有効になっている間はアクティビティを実行できません。車両が走行中にアクティビティを実行し続けることをシステムに示すには、対応する <activity> 要素内に次の <meta-data> 要素を追加します。

<activity ...>
  <meta-data android:name="distractionOptimized" android:value="true">
</activity>

Android Automotive OS 用アプリを開発する場合、このメタデータをマニフェストに含める必要があるのは、自動車向けアプリ ライブラリを使用してビルドされたアプリの CarAppActivity<activity> マニフェスト要素を宣言する場合のみです。他のアクティビティを注意散漫防止の最適化済みとしてマークしないでください。マークされている場合、Google Play ストアに送信したアプリは不承認となります。

ユーザー補助

Android Automotive OS のユーザー補助のサポートは、他のフォーム ファクタほど広範ではありません。TalkBackスイッチ アクセスVoice Access は、Android Automotive OS デバイスではご利用いただけません。

字幕の設定は、Android Automotive OS デバイスでサポートされています。統合の詳細については、システムの字幕設定を適用するをご覧ください。

ネットワークの選択

Android Automotive OS は、アプリごとのネットワーク選択(PANS)をサポートしています。これにより、OEM はモバイル ネットワーク トラフィックをアプリごとに異なるネットワークに転送できます。

ほとんどのアプリは、割り当てられたデフォルト ネットワークのみを使用し、この機能からのみメリットを得ます。たとえば、ユーザーが独自のデータプランを持っていない場合でも、OEM がアプリからのネットワーク トラフィックの料金を支払う場合があります。アプリ(またはその依存関係のいずれか)がデフォルト以外のネットワークに依存している場合、OEM によって設定された設定が有効にならない可能性があります。デフォルト以外のネットワークの使用に関するガイダンスについては、ネットワークの状態を読み取るをご覧ください。

システム機能

PackageManager::hasSystemFeature を使用して特定の機能が利用可能かどうかを検出し、それに応じてアプリの動作を調整できます。

ハードウェア機能

モバイル以外の他のフォーム ファクタと同様に、自動車で利用できるハードウェア機能は、モバイル デバイスの機能とは異なる場合があります。

画面の向き

テレビと同様に、自動車は画面の向きが固定されたデバイスです。テレビとは異なり、縦向きと横向きの両方があります。Android Automotive OS 用にビルドされたアプリをすべての自動車に配信できるようにするには、アプリに android.hardware.screen.landscape 機能または android.hardware.screen.portrait 機能の明示的または暗黙的な機能要件がないことを確認する必要があります。

ネットワーク ロケーション

多くの Android Automotive OS デバイスは、ネットワーク ロケーションの提供に使用されるテレフォニー スタックを実装していないため、android.hardware.location.network システム機能を報告しません。ネットワーク ロケーションは利用できない場合がありますが、おおよその位置情報へのアクセスは引き続きサポートされています。Android Automotive OS のおおよその位置情報をご覧ください。

ソフトウェア機能

他のフォーム ファクタで一般的に使用されているソフトウェア機能の一部は、Android Automotive OS デバイスではサポートされていない場合があります。たとえば、多くの Android Automotive OS 搭載車両では、以下の機能は使用できません。

よくある質問

Google 搭載の自動車にはどのようなものがありますか?

Google 搭載のモデルを製造している OEM の一覧については、Google 搭載の自動車のサイトをご覧ください。ハードウェアの仕様やその他のデバイスの詳細は、Google Play Console のデバイス カタログで確認できます。