Unity を検索

Unity 2018.3 ベータ版での Android App Bundle(AAB)サポート

2018年10月3日 カテゴリ: Engine & platform | 3 分 で読めます
シェア

Is this article helpful for you?

Thank you for your feedback!

アプリやゲームのサイズが大きいと、せっかく Google Play ストアで見つけてもらえたのに、インストールしてもらえないという事態が起きることがあります。これは、ユーザーがデバイスの記憶領域や通信容量を節約したいと思っていたり、低速の通信しかない環境で長い時間ダウンロードを待ちたくないと思っていることが背景にあります。そこで、新しい Android アプリ配信形式である Android App Bundle を使えば、ユーザーのデバイスに配信するときのサイズを小さくすることができます。

Unity 2018.3 ベータ版で、いくつかのハードウェアの設定において、App Bundle のサポートが使えるようになります。この記事では、従来の APK に代わって、Android App Bundle を作成する方法について解説します。サイズが大きいアプリは、インストールする前に記憶領域を空けなければならないので、インストールを敬遠されてしまう傾向があります。この事実は、あらゆる市場のユーザーに影響する事実であり、特にデバイスの記憶領域やデータ通信容量にかかるコストが高い市場において、その影響は顕著になります。

Android App Bundle にはコンパイル済みのゲームコードがすべて含まれますが、APK の生成と Google Play 向けの署名は保留された状態になっています。Google Play の新しいアプリ配信モデル(Dynamic Delivery)では、App Bundle を使って、ユーザーのデバイス設定ごとに最適化された APK が生成、配信されます。ユーザーはユーザーの持っているデバイスでアプリを実行するために必要なコードとリソースだけをダウンロードすることになります。開発者のほうで多数のデバイスをサポートするために、多種類の APK をビルドしてそれぞれに署名し、管理する必要はなくなり、かつユーザーはより小さく、より最適化されたアプリをダウンロードできるようになるのです。

Android App Bundle は、言語リソース、スクリーン深度リソース、ABI(アプリケーションバイナリインターフェース、CPU と命令セットの組み合わせごとに 1 つ存在)、および新しい Dynamic Features の機能の組み合わせに応じた設定の APK を生成するためのさまざまなオプションを備えています。詳しくはGoogle のドキュメンテーションをご覧ください。

Unity 2018.3 では、CPU アーキテクチャおよび ABI(ARMv7、ARM64、および x86)向けの App Bundle サポートが追加され、これ以外にも開発者の皆様にとって有用と思われるターゲットの設定について検討中です。フィードバックをぜひ Android Developer Forum までお寄せください。

Android App Bundle をビルドする

まず、Unity 2018.3 ベータ版でプロジェクトを開きます。APK ではなく Android App Bundle(AAB)をビルドするには、ビルド設定ウィンドウ(メニューは File(ファイル) > Build Settings(ビルド設定))を開き、Build App Bundle のチェックボックスをオンにします(ビルドシステムはデフォルトの Gradle を選択してください)。

ここまで準備した上で Build(ビルド)をクリックすると、Unity は Google Play に直接公開できる AAB ファイルを生成します。

Build and Run(ビルドして実行)を選択した場合は、Unity は接続しているデバイスに対応するテンポラリの APK ファイルを生成し、デバイスにインストールしてアプリケーションを実行します。

Build を実行した後、アプリを手動でデバイスにインストールしたい場合は、Google の提供している bundletool utility を使うことができます(このツールは、Unity をインストールした場所の下の Editor/Data/PlaybackEngines/AndroidPlayer/Tools フォルダーにあります)。bundletool のフラグおよびオプションの詳細はこちらからご参照ください(英語)。

ターゲットアーキテクチャーによって分割された APKEdit(編集) > Settings(設定) > Player(プレイヤー))オプションは、生成された App Bundle がすべてのサポートするターゲット用のライブラリを含める必要があるため、無効となることにご注意ください。

ヒントとコツ

デバイスへのデプロイ前に、App Bundle から APK を生成する分の時間がかかるため、開発中はApp Bundle の生成を無効にして、通常の APK を生成するようにし、「Build and Run」オプションを使ったイテレーションのための時間を節約することをおすすめします。

Unity からエクスポートした Gradle プロジェクトを使って、Android Studio で App Bundle を作成することもできます。この方法で App Bundle を生成するには、Android Studio 3.2 以降で、Build > Build Bundle(s) / APK(s) > Build Bundle(s) の順にメニューを選択してください。

Android App Bundle をサポートしないストアへのアプリ公開を予定している場合は、エンドユーザーのデバイスの CPU アーキテクチャーごとに APK を個別に生成するのではなく、プレイヤー設定の Split APKs by target architecture(ターゲットアーキテクチャーによって分割された APK)オプションを使うか、bundletool を使ってどんな環境でも実行可能な「ユニバーサル APK」をビルドすることをおすすめします(現時点では、AAB は Google Play でのみサポートされます)。詳細は Android App Bundle のドキュメントでご確認ください。

2018年10月3日 カテゴリ: Engine & platform | 3 分 で読めます

Is this article helpful for you?

Thank you for your feedback!