App Quality Insights を使用して Firebase Crashlytics と Android Vitals の問題を分析する

Firebase CrashlyticsAndroid Vitals のアプリのクラッシュ データを Android Studio で直接確認して対処できます。この統合により、スタック トレース データとクラッシュ統計情報が Crashlytics と Google Play から Studio IDE の App Quality Insights ツール ウィンドウに取り込まれるため、ブラウザと IDE を行き来する必要がなくなります。開発チームは次のような主要な機能を利用できます。

  • 関連する Crashlytics イベントデータがある場合、コード内の行がハイライト表示されます。
  • 上位のクラッシュのスタック トレースを確認し、スタック トレースをクリックしてコード内の関連する行に移動できます。
  • 上位のクラッシュや非致命的なイベントに関する概要の統計情報(デバイスのメーカーや Android のバージョン別にグループ化されたものなど)を確認できます。
  • 重大度、時間、アプリのバージョンなどの属性でイベントをフィルタできます。
  • ブラウザリンクを取得して Crashlytics ダッシュボード ページを開き、イベントの詳細を確認できます。
  • 特定の問題の根本原因を簡単に理解して解決するために役立つ分析情報を取得できます。

Android Vitals レポートは、Google Play に公開されているすべてのアプリで利用できます。Crashlytics をまだ利用していない場合、Crashlytics の詳細については、Firebase Crashlytics をご覧ください。

始める

Android Studio で Crashlytics のデータを表示するには、アプリ プロジェクトで Firebase と Crashlytics を設定する必要があります。手順は次のとおりです。Android Studio で [Tools] > [Firebase] に移動して Firebase Assistant を開き、[Crashlytics] をクリックします。チュートリアルに沿って Firebase と Crashlytics をプロジェクトに追加します。Firebase Assistant のワークフローについて詳しくは、Firebase の Android 向けスタートガイドをご覧ください。

すでに Firebase と Crashlytics をアプリに追加している場合は、IDE でアバター アイコン をクリックしてデベロッパー アカウントにログインします。ログイン後、[App Quality Insights] ツール ウィンドウをクリックします。[Issues]、[Sample Stack Trace]、[Details] の各パネルに Crashlytics のレポートが表示されます。

Android Vitals を分析する

App Quality Insights には、Android Vitals のデータが含まれています。これにより、Google Play で収集された主要な指標に簡単にアクセスして、ユーザー エクスペリエンスを改善できます。Android Vitals を使用すると、アプリの安定性に関連する問題に対処して、Google Play のアプリの品質を改善できます。

Android Studio の Android Vitals データ。

Android Vitals の問題の表示、フィルタ、スタック トレースからコードへの移動、これらすべてを [App Quality Insights] ツール ウィンドウから実行できます。使用を開始するには、以下のステップを実行してください。

  1. ツールバーの端にあるプロフィール アイコン を使用して、Android Studio のデベロッパー アカウントにログインします。
  2. Android Studio でツール ウィンドウをクリックするか、[View] > [Tool Windows] > [App Quality Insights] をクリックして、[App Quality Insights] を開きます。
  3. [App Quality Insights] 内の [Android Vitals] タブをクリックします。
  4. 省略可: デバッグ可能なビルドでバージョン管理の統合を使用するには、最新の Firebase Crashlytics SDK(または Firebase Android の部品構成表)をアプリに追加し、次のコードをモジュール レベルの build.gradle.kts ファイルまたは build.gradle ファイルに追加します。リリース(デバッグ可能でない)ビルドでは、このフラグがデフォルトで有効になっています。

Kotlin

android {
  buildTypes {
    getByName("debug") {
      vcsInfo {
        include = true
      }
    }
  }
}

Groovy

android {
  buildTypes {
    debug {
      vcsInfo {
        include true
      }
    }
  }
}

[App Quality Insights] ツール ウィンドウには、発生したイベントについて分析するための豊富なデータと、イベントのソースにすばやく移動するためのリンクが表示されます。

[App Quality Insights] ツール ウィンドウ

  1. アプリケーション ID のプルダウン メニューを使用して、分析したいアプリ ID を選択します。たとえば、IDE でアプリのデバッグ バージョンを操作しているときに、ユーザーがインストールしているアプリの製品版のイベントデータを表示する場合があります。
  2. [Issues] パネルには、Crashlytics にデータがある上位のイベントが表示され、クラッシュの影響の大きい順に並べ替えられています。
  3. バリアント、または類似したスタック トレースを持つイベントのグループごとにイベントを表示します。バリアントごとにイベントを分析すると、クラッシュの根本原因を特定できます。
  4. スタック トレースを含むパネルには、[Issues] パネルをクリックしたイベントの最新の発生に関する詳細が表示されます。イベントのスタック トレースが表示され、スタック トレースをクリックすると、コードベース内の関連する行に移動できます。クラッシュ発生後にコードが変更された場合は、スタック トレース内のエラーの横にある [show diff] をクリックして、現在のコードとクラッシュを生成したコードベースのバージョンの差分を表示します。

    AQI スタック トレースに差分を表示するオプション。

    また、影響を受けるデバイスタイプ、その Android バージョン、イベントの発生時刻に関する情報のほか、Firebase Crashlytics ダッシュボードのイベントへのリンクも表示されます。[Close] ボタンをクリックして、パネルから直接問題をクローズします。

  5. [Details] パネルには、デバイスタイプと Android バージョンごとのクラッシュ数の内訳が表示されるため、最も影響を受けているユーザー グループを特定できます。また、クラッシュが発生したアプリのバージョンと影響を受けるユーザーの数も表示されます。
  6. 問題に関するメモを確認します。また、問題にメモを添付して Firebase コンソールに表示し、チームメイトが確認できるようにします。問題に関するメモを作成するには、その問題を選択して [Notes] パネルを開きます。メモを作成するには、Crashlytics プロジェクトへの書き込み権限が必要です。問題にメモが付いている場合は、[ Issues ] パネルに「メモ」アイコン が表示されます。
    App Quality Insights の [Notes] パネル
  7. さまざまなフィルタを使用して、特定のイベントのサブセットを絞り込むことができます。致命的なイベント または非致命的なイベント を選択または選択解除できるだけでなく、時間、アプリのバージョン、Crashlytics シグナル、デバイスのメーカーとモデル、Android プラットフォームのバージョンでフィルタすることもできます。なお、Crashlytics シグナルの状態では、過去にクローズされた問題が新しいバージョンのアプリで再び発生した場合、問題は「回帰」と見なされます。

スタック トレースからコードに移動できるだけでなく、コードからスタック トレースに移動することもできます。Android Studio では、クラッシュに関連するコード行に、クラッシュ ガターアイコン を使ってアノテーションを付けるようになったため、該当する行を簡単に見つけてデバッグできます。

クラッシュ アイコンにカーソルを合わせると、そのコード行に関係するイベントの数とイベントの頻度を示すポップアップが表示されます。

クラッシュ アイコンにカーソルを合わせたときのベントの概要

クラッシュ アイコンをクリックすると、特定のイベントの発生頻度や影響を受けるユーザーの数を含む、イベントのより詳細なリストが表示されます。特定のイベントをクリックすると、[App Quality Insights] ツール ウィンドウにイベントの詳細が表示されます。

クラッシュ アイコンをクリックしたときのイベントのリスト

Android Vitals と Crashlytics の数値の差異

Android Vitals と Crashlytics では、同じクラッシュに関連付けられたユーザー数とイベント数について、異なる値が報告される場合があります。このような不一致は、Google Play と Crashlytics が検出するクラッシュの時刻とユーザーが異なる場合があるため発生します。Google Play と Crashlytics のカウントが異なる理由として次のものが挙げられます。

  • Google Play は起動時に開始するクラッシュを検出しますが、Crashlytics は Crashlytics SDK の初期化後に発生したクラッシュを検出します。
  • ユーザーが新しいスマートフォンを入手したときにクラッシュ レポートを無効にした場合、クラッシュは Google Play に報告されません。ただし、Crashlytics はアプリ独自のプライバシー ポリシーに基づいてクラッシュを検出します。

オフライン時に一部機能の制限付きで調査する

[Refresh] をクリックするなどして新たなリクエストを行う際に、Android Studio が Crashlytics と通信できない場合、[App Quality Insights] ウィンドウで [Offline Mode] に入ることができます。

App Quality Insights はオフライン モードを提供します。

このモードでは、引き続きキャッシュ データの問題と最新のイベントを調査できます。フィルタ オプションの変更や問題のクローズなど、特定の機能は使用できません。Crashlytics への接続を再試行してオンライン状態に戻すには、[Reconnect] をクリックします。

オフライン モードでの App Quality Insights の再接続オプション