本日、Android Auto と Google 搭載の Android Automotive OS 搭載車向けのゲーム カテゴリが、ベータ版から正式版に移行します。早期アクセス パートナーはすでに、停車中の車内でのみ利用できるゲームを提供しています。これらのゲームは、Android Auto 用ゲームと Android Automotive OS 用ゲームの最新のコレクションで確認できます。
車載ゲームをリリースすると、充電ステーションで待っているときや、カーブサイド注文の受け取りを待っているときなど、ユーザーが車内で自然に休憩しているときにリーチできます。今回のマイルストーンは、アクセスをオープンにして、デベロッパーが Google Play のオープンテスト トラックと製品版トラックにゲームを公開できるようになったことを意味します。この投稿では、既存の Android ゲームを車載ディスプレイに対応させる方法について、主な技術要件と公開基準に焦点を当てて説明します。
ゲームに車載サポートを実装する
アダプティブ アプリの構築に関するベスト プラクティスにすでに準拠している場合、既存の Android ゲームを自動車に導入する作業は、主にアプリ マニフェストの構成と、ゲームが車両の駐車状態を尊重することの確認で済みます。
アプリをゲームとしてマークする
ゲーム カテゴリでアプリを配信するには、カテゴリを明示的に宣言する必要があります。マニフェスト ファイルの <application> 要素に android:appCategory="game" 属性を追加します。
<application ...
android:appCategory="game">
...
</application>Android Auto のサポートを宣言する
ゲームは、Android 15 以降を搭載したデバイスの 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 Automotive OS のサポートを宣言する
ゲームが Android Automotive OS をサポートしていることを宣言するには、マニフェスト ファイルに android.hardware.type.automotive <uses-feature> 要素を含めます。
<manifest ...
...
<uses-feature android:name="android.hardware.type.automotive"
android:required="false" />
...
</manifest>android:required の値には、Android Automotive OS アプリの配信に選択したトラックに応じて異なる制限があります。Android Automotive OS アプリをモバイル トラックで配信する場合は、android:required を "false" に設定する必要があります。ただし、Android Automotive OS 専用トラックで配信する場合は、android:required を "true" または "false" に設定するか、設定しないままにすることができます。値を設定しない場合、android:required を "true" に設定した場合と同じ効果が得られます。つまり、アプリは Android Automotive OS デバイスでのみ配信可能になります。
駐車状態に対応する
自動車は、運転状態と駐車状態という独自の物理コンテキストを導入します。ゲームなどの特定の種類のアプリは、駐車中のアプリと見なされ、運転者の注意散漫を避けるため、車両の走行中は実行できません。デフォルトでは、Android Auto と Android Automotive OS は、車両の走行中またはユーザー エクスペリエンス(UX)の制限が有効な場合に、アクティビティの使用や起動をブロックします。ゲームがドライバーの注意散漫に関するガイドラインに準拠していることを確認するには、マニフェスト内のアクティビティに distractionOptimized メタデータ要素を含めないでください。また、ユーザーが運転を開始するとゲームの音声が停止し、車両が走行中は一時停止を解除できないようにする必要があります。
また、ユーザーがホーム画面からアプリを再起動した場合、ゲームは可能な限り再起動前に近い状態に復元する必要があります。ゲームの応答性をテストし、ゲームプレイ中にフリーズやスタッターが発生しないことを確認します。
ゲーム コントローラのサポートを宣言する
車の画面はタッチ入力に対応していますが、多くのユーザーは接続したゲームパッドでプレイすることを好みます。ゲームがコントローラ入力をサポートしている場合は、マニフェストで android.hardware.gamepad 機能を宣言して、コントローラ対応のエクスペリエンスを求めるユーザーに対して Google Play ストアでのアプリの視認性を高めます。
<uses-feature android:name="android.hardware.gamepad" android:required="false"/>
android:required 属性を false に設定して、アプリがコントローラをサポートしているが、コントローラの使用は任意であることを示します。ゲームにコントローラが必須でない限り、android:required 属性を true に設定しないでください。
一般的な画面サイズとアスペクト比をサポートする
自動車のディスプレイには、縦向きや横長の横向き画面など、さまざまな形状とアスペクト比があります。優れたユーザー エクスペリエンスを実現するには、さまざまな画面サイズに完全に適応するようにゲームを作成し、レターボックスやピラーボックスなしで全画面表示できるようにします。Android Auto の場合は、標準的な画面サイズに対するテストのガイダンスを参照し、Android Automotive OS のエミュレータでテストする際はバンドルされたハードウェア プロファイルを使用してください。
ゲームを自動車向けに公開する
必要な変更を実装したら、Google Play Console で Android Auto と Android Automotive OS のフォーム ファクタにオプトインできます。製品版に送信する前に、ゲームの自動車向けアプリの品質に関するガイドラインに沿ってゲームをテストしてください。
デスクトップ ヘッドユニットを使用してアプリの Android Auto との互換性をテストし、Android Automotive OS エミュレータを使用して Android Automotive OS でのエクスペリエンスをテストします。ゲームは、オープンテストまたは製品版での承認を受ける前に、ゲーム カテゴリの自動車向けアプリの品質に関するガイドラインに照らして審査されます。
運転中にゲームをプレイする
ゲーム カテゴリの一般提供が開始された今こそ、車向けにタイトルを最適化する絶好の機会です。実装の詳細については、自動車向けゲームを作成するのドキュメントをご覧ください。
-
プロダクト ニュースデベロッパーの皆様が、自動車向け Android にアプリとエクスペリエンスを提供し続けてくださることを大変嬉しく思います。昨年も、Android Auto と Google 搭載車のアプリ エコシステムは、力強い成長と勢いを維持しました。
Jan Kleinert, Noam Gefen, Thomas Weathers • 所要時間: 3 分 -
プロダクト ニュースGoogle では、プロダクトは設計段階から安全であるべきだと考えています。そのため、ソフトウェア定義車両(SDV)向けの Android Automotive オペレーティング システム(AAOS)は、市場で実績のある既存のプラットフォーム上に構築され、Cuttlefish などの仮想化テクノロジーが活用されています。
Markus Vill, Sean Keys, István Nádor • 所要時間: 5 分 -
プロダクト ニュースJetpack Compose のリリースから 5 年近くが経ちましたが、Google は、さまざまな Android デバイスで素晴らしい UI を構築するために必要なすべての機能、パフォーマンス、ツールを提供することに注力してきました。
Nick Butcher • 所要時間: 2 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。