Unity が2018.3 beta 版から Android App Bundle のサポートを開始したので、Unity 様ブログを本ブログで勝手ながら和訳させていただく。本家様のブログについてはこちらから
https://blogs.unity3d.com/jp/2018/10/03/support-for-android-app-bundle-aab-in-unity-2018-3-beta/
2018.3 beta 版から Android App Bundle のサポートを開始します。
大規模なアプリやゲームでは、「Google Playストア」訪問回数がインストールに直結していない。これはユーザのストレージが足りなかったり、通信量を使い切ってしまっていたり、ダウンロード時間が長すぎることが原因である。Android App Bundleは新しいAndroidアプリの公開形式であり、ユーザの端末に対して小さい容量でインストールできるようになる。
Unity 2018.3ベータ版では、いくつかのハードウェアに対してApp Bundleサポートしています。Android App Bundleでの開発を開始する方法についてはこのブログをご覧ください。大規模なアプリやゲームをインストール使用する際に、ユーザはまず空き容量を確保するためにアプリのアンインストールから始める傾向にある。これはユーザーに言えることで特にデータ容量が少ないユーザには顕著に現れる。
Android App Bundleには、ゲームのビルド済みのスクリプトと画像や音声、言語などのリソースがすべて含まれており、APKの生成やGoogle Playへの署名は禁止されている。Dynamic Deliveryと呼ばれるGoogle Playの新しいアプリ配信モデルは、アプリのバンドルを使用して、ユーザーの端末設定ごとに最適化されたAPKを生成して配信し、アプリを実行するために必要なコードとリソースのみをダウンロードする。さまざまな端末をサポートするために複数のAPKを構築、署名、管理する必要がなくなり、ユーザーはより小型で最適化されたダウンロードを手に入れることができます。
Android App Bundlesには各言語リソース、画面密度リソース、ABI(アプリケーションバイナリインターフェイス、CPUと命令セットの組み合わせごとに1つ)の設定APKを生成する複数のオプションがある。これらは動的で新しい概念となる。Googleのドキュメントをご覧ください。
Unity 2018.3では、CPUアーキテクチャ/ ABI(ARMv7、ARM64およびx86)のApp Bundleサポートを導入しており、開発者にとって役立つ追加のターゲットを検討しています。 Androidデベロッパーフォーラムにご意見をお寄せください。
Android App Bundle でビルドする
まず、Unity 2018.3ベータ版を起動しビルド設定画面を表示する。そして、Build App Bundle のチェックボックスにチェックを入れる。
もしビルドボタンをクリックしたならば、Google Play 用の .aab ファイルが出力される。ビルドアンドランをクリックしたならば、.aab ファイルの出力と一時的に端末固有の *.apk ファイルが作成される。
ビルド後、手動で端末にインストールする際はbundletool utility がGoogle から提供されているのでそれを使用する(Unity インストール時に Editor/Data/PlaybackEngines/AndroidPlayer/Tools にインストールされている)。bundletoolのフラグとオプションについては、ここで読むことができます。
生成されたアプリケーションバンドルには、サポートされているすべてのターゲットのライブラリが含まれている必要があるため、アプリケーションバンドルをビルドするときは、ターゲットアーキテクチャ別にAPKを分割するオプションは無効となる。