Version: Unity 6.0 (6000.0)
言語 : 日本語
Android のデジタル配信サービス
Dedicated Server

Google Play への配信

このページでは、Google Play 固有の配信要件と考慮事項に関する情報について説明します。

Google Play でアプリケーションを公開する方法の詳細は、Google Play を参照してください。

配信要件

Google Play には、アプリケーションを公開する前に満たさなければならない要件があります。このセクションでは、Google Play 固有の要件と、それらを満たす方法について説明します。

Android App Bundle

Google Play では、新しいアプリケーションは APK ではなく AAB (Android App Bundle) にする必要があります。その理由については、The future of Android App Bundles is here を参照してください。

アプリケーションを AAB に設定するには、次の手順を実行します。

  1. Android Player Settings を開きます。

  2. Publishing Settings セクションで Split Application Binary を有効にします。

  3. File > Build Settings を選択します。

  4. Platform ペインのプラットフォームのリストから Android を選択します。

  5. Build App Bundle (Google Play) を有効にします。プロジェクトをエクスポートして Android Studio でビルドしたい場合は、Export Project を有効にしてから Export for App Bundle を有効にしてください。

    ノート: Build App Bundle (Google Play) 設定は、Export Project 設定を無効にしている場合のみ表示されます。

これで、アプリケーションをビルドするときに、アプリケーションが AAB としてビルドされるようになります。

アプリケーションのサイズ

Google Play には、アプリケーションのインストールサイズの制限があります。Google Play で設定されているアプリケーションのタイプごとのサイズ制限は、以下の表のとおりです。

アプリケーションのタイプ サイズ制限
APK アプリケーションバイナリの分割を行う場合や、カスタム拡大ファイルを使用する場合は、APK は 100 MB 未満、拡張ファイルは 2 GB 未満にする必要があります。それ以外の場合は、APK は 100MB 未満にする必要があります。
AAB アプリケーションバイナリの分割を行う場合や、カスタムアセットパックを使用する場合は、AAB 内のベースモジュールのサイズを 200 MB 未満にし、アセットパックのサイズが、ドキュメントの Android のダウンロードサイズの上限に記載されているファイルサイズに収まるようにする必要があります。それ以外の場合は、AAB を 200 MB 未満にする必要があります。

アプリケーションのインストールサイズを最適化する方法については、配信サイズの最適化を参照してください。

シンボルファイルのサイズ

Google Play では、シンボルパッケージまたは Android App Bundle に埋め込まれたシンボルのサイズに制限があります。シンボルファイルのサイズがこの制限を超えると、シンボルファイルは拒否されることがあります。Unity は、Android Player Settings の Symbols size threshold で指定されたサイズ制限を超えるシンボルパッケージに対して、警告を表示します。

テクスチャ圧縮ターゲティング

テクスチャ圧縮ターゲティングは Android App Bundle の機能で、Google Play がさまざまなデバイス向けに最適化された APK を生成および提供する際に役に立ちます。この機能を有効にすると Unity は、さまざまな圧縮形式でフォーマットされたテクスチャアセットが、ビルドする Android App Bundle に含まれるようにします。デバイスが Google Play からアプリケーションをインストールすると、デバイスが受け取る APK には、デバイスに最適なテクスチャ圧縮形式を使用するテクスチャアセットが含まれます。

また、テクスチャ圧縮ターゲティングでは、アプリケーションバイナリ分割機能を自動的に有効にして、UnityTextureCompressionsAssetPack と呼ばれるインストール時アセットパックを生成します。このアセットパックには、最初のシーンで必要になる一般的なリソースとアセットが含まれています。テクスチャ圧縮ターゲティングが無効になっている場合、Unity はこれらのアセットをベースモジュールにパックします。つまり、テクスチャ圧縮ターゲティングを有効にすると、ベースモジュールのサイズが小さくなります。ベースモジュールには 200 MB のサイズ制限があるため、これは重要です。Unity がアセットパックを設定する方法の詳細は、Unity のアセットパックを参照してください。

テクスチャ圧縮ターゲティングを有効にするには、以下のようにします。

  1. Android App Bundles を有効にします。
  2. Android Player Settings を開きます。
  3. Texture Compression Formats を見つけて、必要なテクスチャ圧縮形式をすべて追加します。このリストの最初のテクスチャ圧縮形式が、デフォルトの形式です。
    ノート: PlayerSettings.Android.textureCompressionFormats API を使用して、必要なテクスチャ圧縮形式を割り当てることもできます。
  4. Build Settings を開きます。
  5. Platform リストの下の Asset Import Overrides セクションで、Texture CompressionForce Uncompressed 以外の値に設定します。

ノート: テクスチャ圧縮ターゲティングを有効にすると、Unity は Texture CompressionAndroid Build Settings を無効にして無視します。つまり、この設定を使用してビルドのテクスチャ圧縮形式をオーバーライドすることはできません。

Android App Bundle を有効にせず、アプリケーションを APK としてエクスポートまたはビルドしない場合、Unity は Texture Compression Formats リストの最初のテクスチャ圧縮形式のみを使用します。

一部のテクスチャアセットで特定のテクスチャ圧縮形式を使用する場合は、そのテクスチャ圧縮形式をオーバーライドできます。デフォルトのテクスチャ圧縮形式と、Google Play が特定のターゲットデバイス用に選択する最適な形式は、個々のテクスチャに設定した値によってオーバーライドされます。個々のテクスチャのテクスチャ形式を変更する方法については、テクスチャインポーターを参照してください。

64 ビットアーキテクチャ

Google Play では、アプリケーションは 64 ビットアーキテクチャをサポートする必要があります。詳細については、64 ビットアーキテクチャのサポートを参照してください。アプリケーションが 64 ビットアーキテクチャをサポートするには、次の手順に従います。

  1. Android Player Settings を開きます。
  2. Other Settings セクションで ARM64 を有効にします。
    ノート: この設定は、プロジェクトで IL2CPP スクリプティングバックエンドが使用されている場合のみ利用できます。

ターゲット API

Google Play では、アプリケーションは最低限のターゲット API をサポートする必要があります。現在の最低限のターゲット API の詳細については、Google Play のターゲット API のレベル要件を満たすを参照してください。

アプリケーションのターゲット API を変更するには、以下のようにします。

  1. Android Player Settings を開きます。
  2. Other Settings > Identification セクションで、Target API Level を、Google Play が要求する最低限のターゲット API レベルに設定します。

アプリケーション依存関係のレポート

Google Play は、既知の認証失敗に対して、アプリケーションが使用する Package Manager とアセットストアのパッケージを確認することができます。これは、アプリケーションを Play Store にアップロードした後で、メインの認証プロセスが始まる前に自動的に行われます。これにより、完全な認証プロセスを実行せずに、アプリケーションの依存関係の問題を迅速に特定できます。Google Play で問題が見つかった場合は、Play Store Console から問題の詳細とその修正方法が、アプリケーションを再送信する前にレポートされます。

依存関係をレポートするには、以下の手順に従います。

  1. Edit > Project Settings を選択します。
  2. Project settings ウィンドウの Player タブで、Android Player Settings を開きます。
  3. Publishing Settings セクションで Report Dependencies in App Bundle ボックスをオンにして、依存関係の収集と、Google Play へレポートすることを有効にします。

アプリケーションの署名

Google Play では、アプリケーションに署名が必要です。アプリケーションに署名する方法については、Android 用 Keystore Manager を参照してください。

考慮事項

このセクションでは、アプリケーションを Google Play に公開する前に知っておくべき、Google Play 固有の考慮事項について説明します。

ベストプラクティスチェックリスト

Android アプリケーションを正常に起動するためのサポートとして、Android のドキュメントには、実行すべきプロセスのベストプラクティスのチェックリストが含まれています。公開前チェックリストを参照してください。

パブリックシンボル

デバイスでアプリケーションがクラッシュした場合、Google はシンボルパッケージを使用して、ネイティブスタックトレースを Android Vitals ダッシュボード上で人間が読めるようにします。アプリケーションのパブリックシンボルパッケージを生成し、Google Play にアップロードすることが推奨されます。この方法については、シンボルパッケージの生成を参照してください。

難読化解除ファイル

シンボルファイルと同様に、アプリケーションビルドに小型化を適用すると、Unity は難読化解除ファイルを生成できます。小型化の適用に関する詳細は、Android の Player 設定を参照してください。難読化解除ファイルは、アプリケーションビルドと同じ場所にマッピングファイルとして自動的に生成されます。

小型化を適用する場合は、Google Play にアプリケーションを公開するときに難読化解除ファイルをアップロードすることをお勧めします。難読化解除ファイルは、スタックトレース内のメソッド名を解読し、アプリケーションクラッシュの正確な原因を特定して解決できるようにします。詳細については、Google のドキュメントクラッシュのスタックトレースの難読化を解除する、シンボリケートするを参照してください。

Android のデジタル配信サービス
Dedicated Server