TikTok が Android のツールでユーザー エクスペリエンスを最適化

TikTok は、世界中のコミュニティ主導のエンターテインメント スポットです。10 億人を超える人々が世界中から集まり、お気に入りのコンテンツを発見、制作、共有しています。

多様なユーザーベースには多様なネットワーク条件やデバイスの仕様が必要であり、すべてのユーザーが、使用するデバイスに関係なくシームレスで応答性の高いアプリ エクスペリエンスを実現したいと考えています。

TikTok の読み込みが遅くなったり、再生が途中で止まったりすると、ユーザーは不満を感じ、TikTok アプリの利用をやめることになります。これを避けるため、TikTok はデータ モニタリング、類似アプリの比較、ユーザー アンケートを利用して、アプリの全体的なパフォーマンスを追跡している。また、UI ジャンク、再生ラグ、ネットワークの問題を減らすために、SystraceSimpleperf などのプロファイリング ツールも導入しました。これはうまく機能していましたが、エンジニアリング チームは、さらに一歩進めてパフォーマンスに影響を与える根本的な要因を明らかにし、定量化可能なパフォーマンス指標を使用して最適化計画を策定したいと考えていました。

実現手法

TikTok の目標は、起動を高速化し、よりシームレスな再生とユーザー エクスペリエンスを確保することでした。チームはこれらの目標を達成するため、Android 開発ツールを使用して改善の余地がある領域を見つけ、改良しました。

TikTok の起動時間を短縮するため、チームは Android Jetpack の App Startup ライブラリをベースに起動フレームワークをリファクタリングしました。

ユーザー インターフェースをスムーズにするために、チームは Andriod StudioLayout Inspector を使用してビュー階層を簡素化し、過剰なコンテンツを削除しています。TikTok は、アプリの実行中に一貫したフレームレートを確保するために、複雑なタスクをさまざまなフレームに分散する戦略を開発しました。

動画再生は TikTok のアプリ エクスペリエンスの中核をなす機能です。チームはプレーヤー インスタンスを再利用し、プリロード/プリレンダリングを利用して、ある動画を視聴してから別の動画に切り替える迅速かつシームレスな移行を実現しました。

結果

TikTok チームは、1 年以上にわたって Android パフォーマンス ツールを使用して、すべてのパフォーマンス要素を追跡、定量化、最適化してきました。次のようなアプリのパフォーマンス インジケーターの多くに大幅な改善が見られました。

  • アプリの起動時間が 45% 短縮された
  • ユーザー エクスペリエンスにおけるジャンク、フレーム落ち、フリーズが 49% 減少 - 動画再生時の最初のフレームが 41% 速く表示され、動画の遅延が 27% 減少しました

ユーザー エクスペリエンスの向上により、TikTok のユーザーも増えています。セッション継続時間が長くなり、ユーザーがアプリをアクティブに保つ可能性が向上しました。30 日間におけるユーザーあたりのアクティブ日数は 1% 増えました。また、ユーザー アンケートやアプリの評価からも、全体的なユーザー満足度が大幅に向上していることがわかっています。

Android App Excellence の達成に重点を置き、最新のプラットフォーム リリースである Android 13 をターゲットにすることで、チームは継続的にユーザー エクスペリエンスを向上させ、より多くの人がコンテンツを共有、消費できるようにしています。

現在、世界中で 2 億 5, 000 万台以上の大画面 Android デバイスが使用されています。チームは、近い将来、より没入感の高い TikTok 体験をユーザーに提供するために、大画面デバイスの導入を拡大することにも注力しています。

使ってみる

TikTok チームがパフォーマンス データに基づいてアプリを最適化し、Android のツールを使用してアプリの全体的なエクスペリエンスを向上させた手法について詳しくは、デベロッパー向けの技術事例紹介をご覧ください。