JioSaavn: アプリの起動時間を 30% 短縮して DAU を増加

2007 年に設立された JioSaavn は、音楽とポッドキャスト向けの大手オーディオ ストリーミング サービスです。900 以上のレーベルとパートナーシップを結んでおり、8,000 万件以上のトラックを 16 の言語でストリーミングしています。JioSaavn アプリはインドの 6 つの地域言語でも利用できます。

1 か月のアクティブ ユーザー(MAU)が 1 億人を超える技術スタックにより、JioSaavn は迅速かつ大規模に事業を展開しています。このユーザー層は通常、リソースが限られている Android スマートフォンを使用しているため、ユーザー エクスペリエンスは JioSaavn チームにとって最も重要なものとなっています。

課題

ローミドル エンドのモバイル デバイスに見られるような制約のある環境での最適化は、エンジニアリングの観点からすると困難であるだけでなく、刺激的なものです。JioSaavn が直面した課題は、主にインドのティア 2 と 3 の都市で利用されており、ローミドルエンドのモバイル デバイスを使用して主要なターゲット オーディエンスのユーザー エクスペリエンスを最適化することでした。

ファネルを分析すると、アプリを起動したものの、曲を聴いていないユーザーは相当数いることがわかりました。担当チームは、アプリの起動時間がこの問題の原因であると判断しました。したがって、アプリの起動時間の短縮は、アプリのリスナー数の増加と関連していました。

活用方法

JioSaavn は包括的な分析と、Perfetto や dumpsys などの堅牢なツールセットを利用してこの問題を分析し、サステナブルなソリューションにたどり着きました。チームはこの課題に、「作業を同時に行うこと」と「遅延する」という 2 つの原則を使用して取り組んだ。

チームは Google の分析の力を借りて、次のタスクに優先順位を付け、

  • systrace と perfetto を使用して、アプリフローの調査、課題の分析、アプリの起動時間の改善の検証を行いました。
  • 初期化の遅延: ホームページが表示されるまで遅延する可能性があるフラグメント、インスタンス、クラスの初期化を特定しました。
    • 広告
    • 音楽サービス(フォアグラウンド サービス)とプレーヤー リソース(例: ExoPlayer、キャッシュ プレーヤー キューなど)
    • 起動時に最小化されるプレーヤー フラグメント。
  • オンデマンド初期化: ライブラリが必要なときの各種ライブラリ(Facebook lib など)。
  • viewStub: ビューのインフレーションとリソースの読み込みが重くなりました。チームは viewStub を使用してレイアウトをフラット化し、画像を WebP に変換しました。
  • ワーカー スレッド: UI スレッドを必要としない一部のタスクが、UI スレッドを解放するために b/g スレッドに移動されました。
  • スプリット キャッシュ データ - ファイルから大量のキャッシュ データを読み取って解析するには非常に時間がかかります。チームはデータを重要なデータ(ホームページを表示するために必要)と重要でないデータに分割しました。
  • 非同期 LayoutInflater: ホームページの recyclerview に必要なビューの一部が、非同期 LayoutInflater を使用して事前インフレートされました。

使用するツール - Perfetto、Systrace、Google Play Vitals、Android Studio の Profiler、Firebase Performance SDK

結果

JioSaavn チームは、アプリの安定性を維持するために、アプリの複数のバージョンにわたってこれらの変更をリリースしました。以下の結果が得られました。

  • すべてのデバイスでアプリの起動時間が 30% 短縮され、ローミッド エンドのデバイスで 35 ~ 40% 短縮。
  • ホーム画面の視聴者数 ÷ DAU が 5% 増加し、直帰率が減少。

この最適化の取り組みによってチーム全体が団結しました。詳細なチュートリアルを実施してチームが変更内容を理解して、アプリに対してパフォーマンス重視のアプローチを浸透させました。

「JioSaavn は、インドのさまざまな地域や都市のユーザーを対象に、
手頃な価格帯でユーザーのリスニング体験を向上させることを目指しています。そのため、各地域のモバイル接続インフラストラクチャの枠を超え、ユーザーのデバイス機能全体でユーザー エクスペリエンスを最適化することが、Google の継続的な課題となっています。Google のデベロッパー リレーションズ ガイダンスのおかげで、この方向への確実な一歩を踏み出すことができました。」

– JioSaavn プロダクト チーム