Duolingo: Android App Bundle で、アプリのサイズを 56% 削減

背景

Duolingo が 2011 年に公開した外国語を楽しく学べるアプリは、現在も世界中の数百万のユーザーに利用されています。同社は 30 以上の言語で無料のコースを提供しており、すべての人にとって言語学習が身近なものになることを目指しています。その一環として、アプリの読み込み時間を短く維持することも重要な目標のひとつです。ユーザーの多くが、容量が十分でないローエンドのデバイスを使っているためです。ある新機能を追加する際、複数のアーキテクチャでネイティブ ライブラリを使用する依存関係が必要になったときに、アプリのサイズが 10 MB から 46 MB へと急増しました。開発チームは急きょ、アプリのサイズを削減する方法を早急に見つける必要に迫られました。

Duolingo の取り組み

Android App Bundle を使用することで、アプリの機能を犠牲にすることなくサイズを大幅に削減することが可能になった、と Duolingo は話します。同社ではそれまで 1 つの APK を使用していました。そこで、マルチ APK の方法を採用した場合を検証したところ、バージョン コードやファイル名を処理するためにビルド スクリプトの大幅な変更が必要になることがわかったのです。さらにその場合、リリース管理のためチームの開発担当者向けに再研修を行うことも必要でした。一方、App Bundle は、既存の自動フローにほとんど変更を加える必要がなく、生成とアップロードが容易でした。

「Android App Bundle への移行は簡単でした」と語るのは、Duolingo の収益担当責任者、Bob Meese 氏です。「チームがすでに自動化していたビルド スクリプトは APK をアップロードするために作ったものでしたが、必要な作業は App Bundle のアップロードもできるようにすることだけ。つまりコードを数行変更するだけで済んだのです。」

同様に、テストも簡単な作業でした。Duolingo のチームが使用したのは、内部テスト版トラックです。テスト用アプリを「シームレス」に社員に配布できた、と Meese 氏は語ります。また、既存のユーザーに公開する際も手間はかからず、チーム側で行う作業はほとんどありませんでした。

結果

Android App Bundles を実装した結果、Duolingo のアプリはダウンロード サイズが 46 MB から 20 MB に縮小し、56% 削減されました。言語学習サービスをグローバルに提供する Duolingo にとって、すべての国や地域のユーザーが無料の教育アプリを確実に利用できるようにするには、アプリのサイズがとても重要になります。Meese 氏は「App Bundle のおかげで、開発を遅らせることなくアプリのサイズを縮小できました」と話します。

ABI と画面密度に的を絞ってサイズ削減に成功したことを受けて、Duolingo では、App Bundle を言語別でも分割する計画を立てています。また、動的機能モジュールを App Bundle に追加することで、アプリのサイズをさらに削減し、ユーザーが必要な機能をインストール時ではなくオンデマンドで配信できるようにすることも検討中です。

始める

Android App Bundles はアプリにもゲームにも対応しています。ぜひ、お試しください。

Play Console に移動