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 ではそのデバイスにアプリが表示されなくなります。必要な機能として設定されているが、アプリがなくても動作する場合は、ユーザー層を不必要に制限する可能性があります。
代わりに、PackageManager クラスと hasSystemFeature() を使用して、実行時に高度な機能を動的に確認します。
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 向けにビルドされたアプリでは、追加のアセットパックを配信できます。オンデマンドまたは高速フォローで配信されるアセットパックの合計サイズは 4 GB ではなく、30 GB になります。
Unity でビルドするデベロッパーは、Unity Addressables と Play Asset Delivery を組み合わせて使用して、アセットパックを管理します。
4. 空間動画のプレビューでアプリを紹介する
XR ヘッドセットで Google Play ストアを閲覧しているユーザーの関心を集めるために、空間動画アセットを使用してアプリの没入型プレビューを提供できます。これは 180°、360°、または立体視動画である必要があります。Android XR デバイスでは、Google Play ストアで没入型 3D プレビューとして自動的に表示されるため、ユーザーはアプリをインストールする前にコンテンツの奥行きとスケールを体験できます。
5. Google Play のリリース トラックを選択する
Google Play では、同じ Google Play Console アカウントを使用して、Android XR アプリを公開するための 2 つの方法が用意されています。
方法 A: モバイル向けリリース トラックで続行する(空間化されたモバイルアプリの場合)
既存のモバイルアプリに空間 XR 機能を追加する場合は、多くの場合、XR 機能またはコンテンツを既存の Android App Bundle(AAB)にバンドルできます。
この方法は、アプリのコア機能のほとんどがモバイル デバイスと XR デバイスの両方で維持され、同じ AAB をモバイル トラックに公開し続けることができる場合に最適です。このユースケースをサポートするようにアプリのマニフェスト ファイルを正しく構成していることを確認するには、こちらのガイダンスをご覧ください。
方法 B: Android XR 専用のリリース トラックに公開する
XR 向けの新しいアプリをビルドする場合や、XR バージョンが機能的に大きく異なるため 1 つの AAB では対応できない場合は、Android XR 専用のリリース トラックに公開する必要があります。
Android XR 専用のリリース トラックに公開されたアプリは、android.software.xr.api.spatial 機能または android.software.xr.api.openxr 機能をサポートする Android XR デバイスでのみ表示されるため、配信を管理できます。
このガイダンスに沿うことで、革新的な Android XR アプリが質の高いユーザー エクスペリエンスを提供し、効率的にパッケージ化され、PAD を使用してスムーズに配信され、実行できるデバイスをターゲットに設定できるようになります。公開をお楽しみください。
続きを読む
-
方法
バッテリーの過剰な消耗が Android ユーザーにとって最も重要な問題であることを認識し、Google はデベロッパーがより電力効率の高いアプリを構築できるよう、重要な対策を講じてきました。
Alice Yuan • 所要時間: 8 分
-
方法
オンデバイス モデルとクラウドモデルの両方を使用した AI 対応機能の例を提供し、ユーザーに喜ばれるエクスペリエンスの作成を促したいと考えています。
Thomas Ezan, Ivy Knight • 所要時間: 2 分
-
方法
パフォーマンスのレベルアップ ガイドには 5 つのレベルがあります。レベル 1 では、最小限の導入作業で済むパフォーマンス ツールを紹介します。レベル 5 は、カスタム パフォーマンス フレームワークを維持するためのリソースがあるアプリに最適です。
Alice Yuan • 所要時間: 9 分
メールを受け取る
Android 開発に関する最新の分析情報を毎週メールでお届けします。