Android XR を搭載した Samsung Galaxy XR が登場このブログ投稿は、 Android XR Spotlight Week の一環として公開されています。このイベントでは、Android XR 向けアプリの学習、構築、準備に役立つリソース(ブログ投稿、動画、サンプルコードなど)を提供しています。
今回は、開発の最終段階の 1 つである、ユーザーにエクスペリエンスを確実に届けるための手順に焦点を当てます。正しく公開することで、アプリが効率的にパッケージ化され、適切なデバイスで検出され、最適な形で表示されるようになります。
Google Play で Android XR 向けアプリを公開、配信するにあたって知っておくべき 5 つのポイントをご紹介します。
1. Android XR アプリの品質に関するガイドラインに準拠して品質を維持する
公開前の最も重要なステップの 1 つは、アプリが安全で快適な、パフォーマンスの高いユーザー エクスペリエンスを提供することを確認することです。
Android XR アプリの品質ガイドラインに沿うことで、Galaxy XR などのデバイスでユーザーに優れたエクスペリエンスを提供できます。
品質が重要な理由
これらのガイドラインは、大画面アプリの品質に関するガイドラインを基盤としており、次のような XR 固有の重要な条件に重点を置いています。
- 安全性と快適性: これは最も重要な要素です。これらのガイドラインは、カメラの動きやフレームレートの基準を設定し、ストロボなどの視覚要素を制限することで、乗り物酔いを防ぐのに役立ちます。
- パフォーマンス: アプリは、ラグを防ぎ、スムーズで快適なエクスペリエンスを確保するために、目標フレームレートなどのパフォーマンス指標を満たす必要があります。
- インタラクション: ガイドラインでは、アイトラッキングとハンドトラッキングの入力で適切に動作するように、操作対象の推奨最小サイズ(最小 48 dp、推奨 56 dp など)が指定されています。
2. アプリ マニフェストを正しく構成する
AndroidManifest.xml ファイルには、アプリに関する重要な情報が記述されています。Android ビルドツール、Android システム、Google Play は、この情報を使用して、どのようなエクスペリエンスが構築され、どのようなハードウェア機能が必要とされているかを把握します。デバイス ターゲティングとアプリの起動を正しく行うには、適切な設定が不可欠です。
アプリが使用する Android XR SDK を指定する
アプリ マニフェストに android.software.xr.api.spatial または android.software.xr.api.openxr を含めて、Jetpack XR SDK でビルドしているか、OpenXR または Unity でビルドしているかを示します。
| 使用された SDK | マニフェストの宣言 |
| Jetpack XR SDK | android.software.xr.api.spatial |
| OpenXR または Unity | android.software.xr.api.openxr |
OpenXR または Unity を使用してアプリをビルドする場合は、android:required 属性を trueに設定する必要があります。Jetpack XR SDK でビルドされたアプリの場合、アプリが Android XR 専用のリリース トラックに公開されている場合は android:required 属性を true に設定し、アプリがモバイル リリース トラックに公開されている場合は android:required 属性を false に設定します。
アクティビティの開始モードを設定する
メイン アクティビティの android.window.PROPERTY_XR_ACTIVITY_START_MODE プロパティを使用して、デフォルトのユーザー環境を定義します。
| 開始モード | 目的 | SDK |
XR_ACTIVITY_START_MODE_HOME_SPACE | 共有マルチタスク環境であるホームスペースでアプリを起動します。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED | フルスペース(完全没入型の単一アプリ環境)で起動します。 | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED | フルスペース(完全没入型の単一アプリ環境)で起動します。OpenXR または Unity でビルドされたアプリは、常にフルスペースで実行されます。 | OpenXR または Unity |
実行時にオプションのハードウェア機能を確認する
アプリに本当に必要な場合を除き、オプションの XR 機能(ハンド トラッキングやコントローラなど)を android:required="true" に設定することは避けてください。必要な機能をデバイスがサポートしていない場合、Google Play はそのデバイスからアプリを非表示にします。必須として設定した機能がなくてもアプリが動作する場合は、対象ユーザーが不必要に制限される可能性があります。
代わりに、hasSystemFeature() を使用して PackageManager クラスを使用し、実行時に高度な機能を動的に確認します。
Kotlin val hasHandTracking = packageManager.hasSystemFeature("android.hardware.xr.input.hand_tracking") if (hasHandTracking) { // Enable high-fidelity hand tracking features } else { // Provide a fallback experience }
これにより、アプリの幅広い互換性が確保され、高度な機能が利用可能になったときに活用できるようになります。
3. Play Asset Delivery(PAD)を使用して大容量のアセットを配信する
イマーシブ アプリやゲームには、標準のサイズ上限を超える可能性のある大きなアセットが含まれていることがよくあります。 Play Asset Delivery(PAD)を使用して、大容量で忠実度の高いアセットを管理します。PAD では、コンテンツのプログレッシブ ダウンロード用に、インストール時、高速フォロー、オンデマンドという柔軟な配信モードが提供されています。Android XR 向けにビルドされたアプリは、アセットパックを追加で配信できます。オンデマンドまたは fast-follow で配信されるアセットパックの合計サイズは 4 GB ではなく、30 GB になります。
Unity でビルドするデベロッパーは、Play Asset Delivery とともに Unity Addressables を使用してアセットパックを管理します。
4. 空間動画のプレビューでアプリをアピールする
XR ヘッドセットで Google Play ストアを閲覧しているユーザーの注目を集めるには、空間動画アセットを使用してアプリの没入型プレビューを提供します。180°、360°、または立体視動画である必要があります。Android XR デバイスでは、Google Play ストアでこのプレビューが没入型の 3D プレビューとして自動的に表示され、ユーザーはアプリをインストールする前にコンテンツの奥行きやスケールを体験できます。
5. Google Play のリリース トラックを選択する
Google Play では、Android XR アプリを公開するための 2 つの方法が用意されています。どちらの方法でも同じ Google Play Console アカウントを使用します。
オプション A: モバイル リリース トラックを継続する(空間オーディオ対応モバイルアプリの場合)
既存のモバイルアプリに空間 XR 機能を追加する場合は、多くの場合、XR 機能やコンテンツを既存の Android App Bundle(AAB)にバンドルできます。
このアプローチは、アプリのコア機能のほとんどがモバイル デバイスと XR デバイスの両方で維持され、同じ AAB をモバイル トラックに引き続き公開できる場合に最適です。このユースケースをサポートするようにアプリのマニフェスト ファイルを正しく構成するには、こちらのガイダンスをご覧ください。
オプション B: Android XR 専用のリリース トラックに公開する
XR 向けのまったく新しいアプリを構築する場合や、XR バージョンが単一の AAB に収まらないほど機能的に異なる場合は、Android XR 専用のリリース トラックに公開する必要があります。
Android XR 専用のリリース トラックに公開されたアプリは、android.software.xr.api.spatial 機能または android.software.xr.api.openxr 機能をサポートする Android XR デバイスでのみ表示されるため、配信を制御できます。
このガイダンスに沿うことで、革新的な Android XR アプリが、質の高いユーザー エクスペリエンスを提供し、効率的にパッケージ化され、PAD を使用してスムーズに配信され、実行可能なデバイスを対象とすることが保証されます。ぜひご活用ください。
続きを読む
-
ハウツー
Android Studio の Gemini、Gemini CLI、Antigravity、または Claude Code や Codex などのサードパーティ エージェントを使用しているかどうかにかかわらず、高品質の Android 開発をどこでも実現できるようにすることが私たちの使命です。
Adarsh Fernando, Esteban de la Canal • 所要時間: 4 分
-
ハウツー
バッテリーの消耗が Android ユーザーにとって最も重要な問題であると認識し、Google はデベロッパーがより省電力なアプリを構築できるよう、さまざまな取り組みを行ってきました。
Alice Yuan • 所要時間: 8 分
-
ハウツー
オンデバイス モデルとクラウドモデルの両方を使用する AI 対応機能の例をご紹介し、ユーザーに喜ばれるエクスペリエンスの作成に役立てていただきたいと考えています。
Thomas Ezan, Ivy Knight • 所要時間: 2 分
メールを受け取る
Android 開発に関する最新の分析情報を毎週メールでお届けします。