アプリケーションのファイル形式
過去に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
について、こちらの記事により詳しく書いてありましたので、おすすめします。