[Fabric] Crashlytics 入門 #2 クラッシュレポートを分析しよう

2015.02.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

クラッシュレポートを見てみよう

前回は iOS アプリに Crashlytics Kit を導入し、実際にクラッシュさせてクラッシュレポートを送信するところまで解説しました。クラッシュが発生したことを知るだけならこれで良いですが、アプリにとって肝心なのはもちろんクラッシュの原因です。

ということで今回は Crashlytics のクラッシュレポート画面からクラッシュレポートを分析する方法について解説します。

Crashlytics のクラッシュレポートの取り扱い方

クラッシュと Issue

Crashlytics では、同じ種類のクラッシュの原因になっているコード行を Issue として集約します。例えば 30,000 件のクラッシュが発生し、クラッシュが発生したコード行が 20 箇所だった場合、20 件の Issue として表示される、などといった具合です。

クラッシュレポート画面を開いてみると、クラッシュレポートが一覧できると思います。この一覧に表示されている一行一行が Issue です。クラッシュが発生したクラスとコード行、クラッシュ回数などの概要が確認できます。

crashlytics04

Impact Level

Crashlytics では各 Issue について、クラッシュが発生した回数や影響を受けたユーザー数、頻度などの情報を自動で集計し、重要度を示すランク付けを行います。このランク付けは Level という単位で表示されます。Level が高い Issue を解決することが、ユーザーにとって最も価値のある改修と言えるでしょう。

初めのうちは Level 1 しか表示されませんが、クラッシュレポートが増えてくると Level 毎にセクション分けされるようになります。

crash-report01

つまり、Crashlytics のクラッシュレポートを元にバグを改修するときは、Level の高い Issue の順番に改修していけば良いということになります *1

Issue を分析する

いずれかの Issue をクリックすると、対象の Issue の詳細な情報が閲覧できます。どのような情報が閲覧できるか確認してみましょう。

crash-report02

1. クラッシュ数とユーザー数

Issue が原因で発生したクラッシュ回数の総数と、影響を受けたユーザーの総数です。

2. ステータス

Issue が Open (未解決) か Closed (解決済み) のどちらかを表します。詳しくは後述します。

3. 日毎のクラッシュ数のグラフ

縦軸がクラッシュの発生数、横軸が日にちのグラフです。例えば「この日を堺にクラッシュが増えた」とか「土日だけ発生している」などといった傾向が読み取れます。

4. シェア

Issue をシェアできます。シェア先は Twitter、メール、URL のいずれかです。

5. デバイス状態の統計

クラッシュが発生したデバイスのモデル、OS バージョン、メモリ使用量、ストレージ使用量、バッテリー残量などといった各状態の統計が閲覧できます。(More Details...) をクリックするとより詳細な統計情報が確認できます。

6. 発生箇所

クラッシュが発生したスレッドと対象のクラス、コード行が確認できます。

7. メモ

Issue に関するメモを自由に入力し保存しておくことができます。

8. 関連する Issue

関連している Issue が存在する場合に表示されます。

解決した Issue をクローズする

Issue の原因を改修などによって解決した場合、表示されている Issue をクローズし、ステータスを Closed (解決済み) にすることができます。前述したステータスのスイッチをクリックすることで Issue をクローズすることができます。

crash-report03

クローズした Issue は分かりやすくハンコが押されます(ハンコが押されるアニメーションが面白いです)。

crash-report04

クローズした Issue は一覧から表示されなくなります。確認したい場合は上部ドロップダウンから「Closed Issues」を選択すると表示されます。

crash-report05

まとめ

クラッシュレポートはただ蓄積しておくだけになりがちですが、Crashlytics のクラッシュレポート画面は課題管理がしやすいように工夫されているので、気軽に使いはじめることが出来ます。Crashlytics をとりあえず入れているアプリのであれば、まず試してみてはいかがでしょうか。

参考

脚注

  1. もちろん、実際に改修するときは影響範囲やタスクの重さなども考慮する必要があります。