ANR の削減により、OkCredit の販売者取引が平均 30% 増加

OkCredit はインドの何百万人もの店舗オーナーとその顧客向けのクレジット アカウント管理アプリです。月ごとの取引数が 1 億 4, 000 万件を超え、ダウンロード数が 5, 000 万件を超えるという状況で、OkCredit は昨年だけでもアプリに 500 億ドル相当の取引を記録しました。

OkCredit が運営している規模と、アカウント管理を同社のアプリに依存している何百万もの企業を考慮すると、使用しているデバイスに関係なく、すべてのユーザーにスムーズでシームレスなエクスペリエンスを提供することが OkCredit に欠かせません。

ユーザーは、最もパフォーマンスの高いアプリを好意的なレビューや高い評価で高く評価します。アプリの安定性やパフォーマンスの問題は、ユーザーの不満につながり、さらに悪い評価につながることも少なくありません。その結果、ANR(アプリケーション応答なし)は、ユーザーが満足して常に快適なユーザー エクスペリエンスを提供することを目的としているかどうかを追跡するための重要なパフォーマンス指標となっています。

OkCredit は ANR の削減やアプリの起動時間の改善など、Android Vitals の改善に投資した結果、特に(すでにリソースが限られている)ローエンド デバイスでは大きな利益を得ることができました。顧客維持率の向上に加え、アプリでの販売者の取引も改善されました。

課題

OkCredit の主要なセグメントの一つはローエンド デバイスのユーザーでした。このようなデバイスはリソースに限りがあるため、負荷の高いタスクの実行が簡単に、最適なユーザー エクスペリエンスとはなりません。たとえば、ANR の追跡と計測の追加は、メンテナンスの大きな課題でした。これらの問題に対処し、全体的なユーザー エクスペリエンスを向上させ、販売者の取引を増やすことを目標としていました。

取り組みの内容

OkCredit のようなアプリの ANR を減らして起動時間を短縮することで、顧客に満足してもらえるだけでなく、アプリでの販売者取引も増加しました。

ANR のデバッグで最も重要な手がかりは、ANR が発生したときにメインスレッドが何を行っていたのかを調べることです。OkCredit は Google からのフィードバックを参考にして、こうした ANR を特定するための構造化されたアプローチを作成しました。

  • Android Vitals を使用してパフォーマンスをモニタリングし、Firebase Crashlytics のカスタム レポートを使用して ANR について学習
  • サードパーティ ライブラリをバックグラウンド スレッドに移動することで、アプリ起動からのサードパーティ ライブラリの初期化を最適化
  • Systrace や Profiler などのツールを使用して、ブロードキャスト レシーバと Service における ANR を特定しました。CI の Macrobenchmark は、コールド スタートアップのベンチマークにも役立ちました。
  • メソッド プロファイラを使用することで、オブジェクトの読み込みが遅延していることが確認されました。
  • perfetto を使用して、高インフレーション レイアウトを特定しました。
  • 共有設定での ANR は、バックグラウンド スレッドですべての apply() を commit() に変更することで解決されました。

上記のタスクは、指標を比較したり、Systrace や CPU Profiler などのツールを使用して影響を検証したりして検証されました。

結果

OkCredit の開発チームは、指標とユーザー エクスペリエンスを改善するだけでなく、今後の開発プロセスの改善に役立つ分析情報も得ることができました。

  • ローエンド デバイスの場合:
    • ANR が 60% 減少
    • ローエンド デバイスの 1 日目の顧客維持率は約 22% 向上
    • 販売者あたりの平均取引額が 30% 増加
  • Play ストアでのアプリの評価を 4.3 から 4.6 に改善
  • コールド スタートアップ時間が約 70% 短縮
  • どの画面でも最初のフレームをフル描画するためのユーザーのクリックが 60 % 改善

この演習によってチーム全体でベスト プラクティスが作成され、ユーザー エクスペリエンスの改善に注力することができました。チームは、システムについての理解を深め、意思決定を迅速化するために、開発中に Perfetto や CPU Profiler などのツールを使い始めました。

「ANR の削減に重点を置いたことで、快適な体験を提供することで他社との差別化につながりました。これにより、維持率が向上し、チャーンが減少しました。 さらに、チームの優れたエンジニアリングにより、このような手法は組織の文化に大きく影響します。このことから、インドの新興の SMB デジタル化業界において、チームとして、また会社がアプリのパフォーマンスに関する新たなベンチマークを設定していることを誇りに思います。」

– Gaurav Kunwar 氏(共同創設者兼 CPO - OkCredit)