Google Play Console では、サイズを最適化して効率的なアプリを構築できるよう、リリース時のアプリのダウンロード サイズやインストール サイズ、時間の経過とともにアプリのサイズがどう変化するかなどを確認できるようになっています。
アプリのサイズはインストールやアンインストールの指標に最も大きく影響する要素の 1 つです。アプリのダウンロード サイズとインストール サイズを定期的に監視し、どうしたらより小さくできるかを理解することが重要です。これら 2 つのサイズは相互に関連しています。以下にその違いをまとめます。
- アプリのダウンロード サイズ: Google Play でユーザーがダウンロードするアプリのサイズ。アプリのダウンロード サイズが大きいほど、ダウンロードに時間がかかります。
- デバイス上のアプリのサイズ: アプリのインストールに必要な容量。アプリはダウンロード時には圧縮されているため、通常はインストール サイズのほうがダウンロード サイズよりも大きくなります。アプリのインストール サイズが大きいほど、インストールに必要なデバイス上の容量が増えます。アプリ起動後に必要なディスク上のサイズは、アプリの使用状況によって異なります。
注: すべてのサイズは、最新の製品版リリースと XXXHDPI ARMv8
デバイス設定(またはアプリでサポートされているデバイス設定のうちこれに最も近いもの)に基づいて概算されています。
サイズとサイズ関連の指標を確認して比較する
アプリを製品版トラックでリリースした後、次の手順でダウンロード サイズとインストール サイズを確認できます。
- Google Play Console を開き、[アプリのサイズ] ページ([品質] > [Android Vitals] > [アプリのサイズ])に移動します。
- 画面の右上で、[アプリのダウンロード サイズ] または [デバイス上のアプリのサイズ] によりページデータをフィルタできます。
[アプリのサイズ] ページには以下のデータが表示されます。
- アプリのダウンロード サイズ / デバイス上のアプリのサイズ: 参照デバイス上でのアプリのサイズと、すべてのデバイス設定におけるアプリのサイズ範囲がわかります。
- 類似アプリとのアプリのダウンロード サイズの比較 / 類似アプリとのデバイス上のアプリのサイズの比較: アプリのサイズが、類似アプリと比較してどの程度かがわかります。
- [類似アプリのグループを編集] をクリックすると、8~12 個の類似アプリからカスタム グループを作成できます。
- アプリのダウンロード サイズの推移 / デバイス上のアプリのサイズの推移: 時間の経過によるアプリのサイズの変化について、その度合いや、類似アプリと比較しての違いがわかります。
- グラフの右上で、データの表示期間を設定できます。また、右上のチェックボックスを使用して、すべてのデバイス設定におけるアプリのサイズ範囲を表示するかどうかを選択できます。
- 空き容量が 2 GB 未満のアクティブなデバイス: アプリのアクティブ ユーザーのうち、デバイスの残りの保存容量が 2 GB 未満のユーザーの割合です。
- 空き容量が 2 GB 未満のデバイスでのアンインストール: すべてのアクティブなデバイスでのアンインストールのうち、残りの保存容量が 2 GB 未満のアクティブなデバイスでのアンインストールの割合です。
注:
- [空き容量が 2 GB 未満のアクティブなデバイス] および [空き容量が 2 GB 未満のデバイスでのアンインストール] の指標は、過去 30 日間の移動平均に基づいて計算され、アプリに該当すると判断された場合にのみ表示されます。
- 2021 年 9 月 27 日、[デバイス上のアプリのサイズ] 統計情報を更新し、最悪の数値ではなく、より概算的な推定値が使用されるようにしました。そのため、[デバイス上のアプリのサイズ] と [デバイスのアプリサイズの内訳] の値に減少がみられる場合があります。
サイズの内訳を表示する
Android App Bundle を使用してアプリを公開した場合は、過去 5 回のリリースにおけるアプリのダウンロード サイズやインストール サイズに占める各コンポーネントのサイズの内訳を、バンドル バージョン コード別にまとめたグラフが表示されます。
この内訳を見ることで、アプリのどの部分が最もサイズを占めており、どの部分をさらに最適化できるかを特定できます。なお、この内訳は、App Bundle で参照デバイス設定用に生成された APK に基づいて概算したものです。
内訳には、次のデータが表示されます。
- アプリのダウンロード サイズの内訳:
- コード/DEX: Android での実行用にコンパイルされたアプリ内のすべての Java または Kotlin コード(DEX 形式)です。
- リソース: リソースには、リソース テーブルと、文字列や画像など、res/ ディレクトリに保存されているコード以外のアプリのコンポーネントが含まれます。
- アセット: アセットとは、アプリが使用する assets/ ディレクトリ内の音声ファイルや動画などのその他のファイルです。
- ネイティブ ライブラリ: アプリの libs/ ディレクトリ内のネイティブ コードです。これは通常、Java または Kotlin 以外のコードです。
- その他: アプリ内のその他のファイルです。
- デバイス上のアプリのサイズの内訳には、以下も表示されます。
- 抽出されたネイティブ ライブラリ: ネイティブ ライブラリが APK で圧縮されている場合、アプリを実行するにはローカル ストレージにネイティブ ライブラリを抽出する必要があります。
- 最適化された DEX: パフォーマンス向上のために Android ランタイムによってネイティブ コードに変換された DEX コードです。
アプリのサイズについて推奨される最適化を確認する
ページの中ほどに、最新リリースの分析に基づくアプリのサイズのおすすめの最適化方法が表示されます。
APK を使用してアプリを公開した場合は、App Bundle を使用するよう提案され、それによってサイズをどれくらい小さくできるかが示されます。App Bundle を使用してアプリを公開した場合は、より詳細な分析に基づく最適化案のリストが表示されます。
それぞれの最適化には、どのような変更を加える必要があるかについて具体的な説明が含まれています。また、サイズの概算が可能な場合は、その変更を実装することでサイズをどれくらい小さくできるかも示されます。この概算は、最適化ごとに個別に計算したものであり、複数の最適化を同時に実装した場合は異なる結果になる場合があります。