Adobe: App Bundle と Dynamic Delivery でアプリサイズを 20% 削減

背景

Adobe のクリエイティビティ ツールと生産性向上ツールは、1982 年以来の実績があります。Photoshop、Illustrator、Lightroom などの Adobe アプリは長きにわたってクリエイティブ分野の信頼を得てきましたが、Adobe の存在を浸透させた立役者は、30 年近く前に生み出されたシンプルな PDF かもしれません。

Adobe の代表的な Android モバイルアプリである Adobe Acrobat Reader は、PDF ドキュメントの表示、署名、コメント付けができる、信頼性に優れた無料アプリです。グローバル スタンダードとしてダウンロード数は 5 億を超えており、長い歴史があるうえに、さらに進化を続けています。「昨年、Android アプリには数多くの機能が追加されました」と、Adobe のコンピュータ サイエンティスト、Shubham Garg 氏は述べています。ユーザーは新機能を歓迎しましたが、やがてアプリのサイズが大きくなったことに気づくようになります。その結果、コンバージョン率が低下していきました。「特に途上国で、この 2 つの問題が目立つ結果になっています」と Shubham 氏は指摘します。

Adobe の取り組み

Adobe は Android App Bundle を使用することで、それほど手間をかけずに Acrobat のアプリサイズを削減できました。「App Bundle に移行するのは簡単でした」と Shubham 氏は言います。「Adobe のアプリはすでに最小バージョンの Android SDK をサポートし、Gradle 要件に対応していたため、当社で必要なコード変更はごくわずかでした。」Google に署名鍵のコピーを安全に転送するだけで、その後のロールアウトは簡単だったようです。

Adobe ではアプリサイズをさらに削減するため、App Bundle への移行に加えて、複数のアプリ機能をモジュール化することにしました。「すでにアプリ内でライブラリ モジュールを使用していましたが、動的な機能を利用することで、別の観点からモジュール化にアプローチできました」と、Shubham 氏は言います。「アプリは、機能に関するコンパイル時の依存関係がなく、スタンドアロンとして配信されます。必要な機能は後でインストールできます。」

モジュール化した最初の機能は「塗りつぶしと署名」でした。Dynamic Delivery を使用することで、画面密度と言語固有のリソースを各 APK に含める必要がなくなりました。また、従来の APK はすでにアーキテクチャごとに分割済みだったため、App Bundle に対応させるための追加の作業は必要ありませんでした。

結果

App Bundle と Dynamic Delivery によって、Acrobat アプリのサイズは 15 MB(約 22~25%)削減されました。一部のデバイスでは削減幅がさらに大きく、約 30% 減を達成したものもあります。結果的にロールアウトは成功しました。「パフォーマンス低下は発生せず、ダウンロードもスムーズでした」と Shubham 氏は述べています。テストのしやすさも成果を後押ししてくれた、と同氏。「内部アプリ共有のおかげで、Play ストアでの公開に準じたテストが行えました。デバッグ可能なアプリをアップロードする際も、バージョンの違いを気にせずに済む点が便利でした。」

App Bundle を使用すると Google Play にアップロードするアーティファクトが 1 つで済む点も、チームの時間短縮につながっています。「以前は、アーキテクチャごとに分割した 4 つの異なる APK を使用する必要があったのです。」Shubham 氏はそう説明しました。現在は 1 つの App Bundle をアップロードするだけです。さらに、インストール コンバージョン率が 5~7% 向上したことから、アプリのサイズに不満を持つユーザーが減っていることも確認できました。

Dynamic Delivery については、「アプリのインストール サイズを今までより小さくでき、インストール時間も短縮できる」と Shubham 氏は述べています。モジュール化を行う前は、リリースごとに 4 つの異なる APK をアップロードしていました。APK ごとにバージョン コードが異なるため、Android Vitals とアナリティクスをそれぞれ測定しなければなりません。そのため、作業が煩雑でエラーも起きやすくなります。一方 App Bundle の場合、バージョン コードが 1 つだけのアーティファクトを 1 つアップロードするだけでよいのです。「おかげで開発プロセスを簡素化できました。今では 1 つのビルドを複数のテスターで共有していれば、どのデバイスでも問題なく機能するだろうと安心できます」と、Shubham 氏は言います。

今後の展望について、Shubham 氏は次のように述べています。「条件付き配信機能をテストしようと考えています。特定のユーザー層を対象にして、アプリサイズの削減効果や特定の機能の動的配信による利点を確かめてみたいと思います。」

始める

Android App Bundle は、アプリやゲームのデベロッパーの皆様にご利用いただけます。ぜひお試しください。

Play Console に移動