Twitter: App Bundle でアプリのサイズを 3 分の 1 削減

Android App Bundle によってアプリの簡素化とサイズ削減に成功した Twitter の事例をご紹介します。

背景

Twitter アプリの軽量化とインストールのしやすさを維持することは、同社のチームにとって非常に重要です。特に新興市場ではデータ接続が不安定なため、アプリのサイズが大きいと問題が生じます。「私たちは、Twitter を誰でもどこでも、とりわけ新興市場でも使えるアプリにしたいと考えています。そして、多くの人にとってインストールを見送る一因となっているのが APK のサイズであることに気づいたのです。」Twitter でシニアスタッフ ソフトウェア エンジニアを務める César Puerta 氏は、こう述べました。「App Bundle は、開発サイドに負担をかけることなく配布サイズを大幅に削減できる、シンプルな解決策を提供してくれました。」

Twitter の取り組み

App Bundle を導入する以前、Twitter ではアプリを手動で 4 つの ABI に分割し、それによってかなりのサイズを削減していました。しかし、App Bundle はもっと簡単で、さらなる効果も期待できることから、この手法への移行に積極的に取り組みました。

Twitter は、App Bundle の要件のひとつである Play アプリ署名の確認に時間を割き、それが Twitter のセキュリティ基準を満たすことを確実にしたうえで先へ進むことにしました。「実装するにあたり、事前に十分な時間をとるよう配慮しました」と Puerta 氏は言います。その一方、「App Bundle の最終版の準備が整うと、導入はきわめてスムーズに進み、動作に不具合が生じることはありませんでした。」

開発プロセスの最中は bundletool を使用して APK を抽出し、QA チームに配布しました。また、App Bundle を本番環境に展開する前に、多数のユーザーを対象とした広範囲のテストを実施しました。経過が良好だったため、続いて内部向けの「dogfood」アプリを Play ストアに移行し、範囲をさらに広げるとともに問題の早期発見に努めました。

結果

移行が完了すると、開発チームは、新たにモジュール化されたバージョンのアプリを 1,360 万人のユーザーに滞りなく展開しました。Twitter のリリースはすでに自動化されていたため、この新バージョンの公開もそれまでとほとんど同じ形で実施されました。しかし、そこには予想外のメリットがありました。「4 つ(の分割した ABI)に代わって、リリースあたり 1 つのバージョン ID を扱うようになり、指標を集約しやすくなったのです」と Puerta 氏は述べています。

さらに重要なのは、アプリのサイズが全体として 30~40% 縮小し、ABI の分割によりすでに削減していたサイズがさらに小さくなったことです。これを実現できた理由のひとつとして、ごく一部のデバイスでしか必要ない大きなネイティブ ライブラリ(ABI あたり 3 MB)の配布に機能モジュールを使用したことが挙げられます。

同社の次なる計画は、Twitter のライブ動画共有アプリ、Periscope を同様に App Bundle に移行することです。担当チームでは、Twitter アプリ全体のモジュール化にも取り組んでいます。「完全に独立した機能モジュールへの移行が済んだら、さまざまな機能の動的配布を検討するつもりです」と語る Puerta 氏。おそらく半年から 1 年後になるだろう、という考えを示しました。彼はまた、モジュール化により Twitter と Periscope の両方でモジュールを再利用できるようになれば、開発時間を大きく節約でき、不要な重複作業を減らせるものと期待しています。

始める

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

Play Console に移動