このページでは、Unity で Addressables のシーンを含めるための Android Performance Tuner の設定方法について説明します。
Addressables を使用すると、実行時にコンテンツを動的に読み込むことができます。これには、.apk のビルド時には Unity のビルド設定に存在していなかったシーンも含めることができます。Android Performance Tuner 1.5.1 より前では、このようなシーンは Android Performance Tuner で認識されず、Google Play Console で検査することはできませんでした。
要件
Addressables のシーンをサポートするには以下の要件があります。
- Android Performance Tuner 1.5.1 以降
- Unity 2019.3 以降
- Addressables パッケージ 1.19.4 以降
Addressables のシーンを追加する
Android Performance Tuner に Addressables のシーンを認識させるには、次の手順を行います。
アプリをテストする準備が整ったら、[Window] > [Android Performance Tuner] > [Setup] に移動し、[Addressables Settings] タブを開きます。
図 1. [Addressables Settings] ウィンドウ。
[Update Addressables Scenes] ボタンをクリックします。
デフォルトでは、AddressableAssetSettingsDefaultObject
に含まれるすべてのシーンが Android Performance Tuner に含まれています。ウィンドウには、見つかったすべてのシーンのリストと proto ファイルに保存されている値が表示されます。
図 2. Android Performance Tuner に表示された Addressables のシーンのリスト。
シーンの取得元となる Addressable 設定オブジェクトを変更する方法は次のとおりです。
Assets/AndroidPerformanceTuner_gen/Runtime/Resources フォルダに移動して、Inspector で SetupConfig スクリプト可能オブジェクトを開きます。
[Addressables Settings Object Path] フィールドに、カスタムの設定オブジェクトのパスを(ファイル名を含めて)入力します。
下位互換性の問題を避けるため、シーンのレイアウトがほぼ確定した時点で Addressables のシーンを更新することをおすすめします。
Android Performance Tuner は、Google Play Console にアップロードされた .apk ファイルに存在するシーンのデータのみを収集します。
Addressables のシーンをリセットする
[Addressables Settings] タブの [Reset Addressables Scenes] をクリックすると、Addressables のシーンをリセットできます。ただし、この操作を行うと、アプリの現在公開されているバージョンとの互換性が損なわれます。
新しいリリースを公開せずにアプリの SetupConfig
オブジェクトを動的に更新すると、シーンと値の関係が保持されなくなるため、Google Play Console でエラーが発生します。
アノテーションで Addressables のシーンを設定する
デフォルトのアノテーションを使用している場合、Android Performance Tuner は自動的に正しいシーンを設定します。カスタム アノテーションを使用している場合は、ConvertAddressableScenePathToAPTSceneIndex()
を呼び出します。
tuner.SetCurrentAnnotation(new Annotation
{
Scene = (Scene) tuner.ConvertAddressableScenePathToAPTSceneIndex(scenePath),
Difficulty = Difficulty.Medium
});