アプリケーションのファイル形式
過去にapk、obbのようなファイル形式が使われていたが2024年現在、Google Play Storeではaabしか受け付けないことになっている。
デフォルトではapk形式でビルドされるが、Player Settings > Android > Build App Bundle(Google Play)
にチェックを入れることでaab形式でビルドすることができる。
アプリケーションのサイズ
Google Play Storeではアプリケーションのサイズが150Mb以内である必要がある。
動画や画像などを使う場合はすぐに150Mbを超えてしまうが、AddressablesとPlay Asset Deliveryという機能を使用することでこの制限を回避することができる。
Split Application Binary
Player Settings > Android > Publishing SettingsのSplit Application Binaryにチェックを入れる。こうすることでabbファイルの中でbaseモジュールとasset packモジュールに分割されるようになる。このうちbaseモジュールは150MbであればGoogle Play Storeにアップロードすることができる。
Addressables
インストール
AddressablesはWindow > Package ManagerのUnity Registryから`インストールすることができる。
シーンごとインスペクタービューでAddressableにチェックを入れ、コードから後述のようにAssetReferenceを使うことで、そのシーン内で使用しているファイルをbaseから除外することができる。
ビルド時に出力されるaabファイルのサイズが実際は150Mbを超えているが、baseモジュールのサイズが150Mb以内であればGoogle Play Storeにアップロードすることができる。
使用例
シーンのロード
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.ResourceManagement.ResourceProviders;
public AssetReference scene; // ロードするシーンをインスペクタービューで設定する
private AsyncOperationHandle<SceneInstance> sceneLoadHandle;
void loadScene()
{
sceneLoadHandle = scene.LoadSceneAsync(UnityEngine.SceneManagement.LoadSceneMode.Single, false);
}
Play Asset Delivery
リリース方式
内部テスト、クローズドテスト、オープンテスト、製品版の4つのリリース方式がある。
今回のプロジェクトは規模が小さいため、まず内部テストで検証し確認後、製品版でリリースすることにした。
製品版へ移行する際には再度アップロードする必要はなく、リリースをプロモートという機能で内部テストから製品版へエスカレーションすることができる。
参考
いろいろ書きましたが、Play Asset Deliveryについて、こちらの記事により詳しく書いてありましたので、おすすめします。


