Android application development 第30章:Firebase Crashlytics でのクラッシュレポート

🚨 Firebase Crashlyticsとは?

Firebase Crashlytics(クラッシュリティクス)は、Google が提供しているモバイルアプリ用のリアルタイムクラッシュレポートサービスです。

アプリにクラッシュが発生したときに:

  • どの端末で
  • どんな状況で
  • どのコードで落ちたのか

…を自動で収集・送信し、ダッシュボードで可視化してくれるツールです。


💡 なぜCrashlyticsが必要なの?

開発中は手元で Logcat を使ってエラーを確認できますが、リリース後にユーザー端末で発生するクラッシュは開発者には見えません

Crashlyticsを使うと…

  • 実際のユーザー環境で起きたクラッシュを収集できる
  • 発生頻度や影響範囲を把握できる
  • 優先順位をつけて修正できる

つまり「見えないバグを見えるようにする」ためのツールです。


🔧 セットアップ手順(概要)

Firebase Crashlytics を使うには、まずプロジェクトに Firebase を導入し、Crashlytics SDK を組み込みます。

1. Firebase コンソールでプロジェクト作成

  • Firebase Console にアクセス
  • 新規プロジェクトを作成
  • Android アプリを追加(パッケージ名などを指定)

2. google-services.json の追加

  • Firebase から google-services.json をダウンロードして
  • プロジェクトの app/ フォルダ直下に配置します

3. Gradleの設定

project/build.gradle
classpath 'com.google.gms:google-services:4.3.15' // 最新版に更新
app/build.gradle
plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'
}

dependencies {
    implementation 'com.google.firebase:firebase-crashlytics:18.6.1' // 最新版にする
    implementation 'com.google.firebase:firebase-analytics' // Analyticsも必要
}

🚀 動作確認(クラッシュレポート送信)

アプリをビルド・実行後、意図的にクラッシュさせてレポートが送信されるか確認します。

// ボタンなどから呼び出してみる
throw new RuntimeException("Test Crash");

クラッシュすると Firebase の Crashlytics ダッシュボードにログが届き、スタックトレースや端末情報が確認できるようになります。


📊 ダッシュボードの見方

Firebase コンソール内の Crashlytics ページには:

情報内容
クラッシュの頻度ユーザーあたりのクラッシュ率など
スタックトレースどのクラス・メソッドで落ちたか
対象端末Androidのバージョン、端末名など
クラッシュのトレンドバージョンごとの推移、増減など

これにより、どのバージョンで多発しているか原因がコードのどこにあるかが一目で分かります。


✅ 開発中の注意点

  • 開発中にクラッシュを投げても、送信までに数分〜数十分かかる場合があります
  • リリースビルドの方が確実に送信されます
  • Proguard(難読化)を使っている場合はマッピングファイルをFirebaseにアップロードしておくと、読みやすいスタックトレースになります

🧠 まとめ

項目内容
Crashlytics とはアプリのクラッシュをリアルタイムで可視化するFirebaseのサービス
主な機能スタックトレース収集・ユーザー影響の把握・クラッシュトレンド分析
導入手順Firebase設定 → SDK導入 → google-services.json設置 → Gradle設定
注意点リリースビルドでの確認が確実/Proguard対応に注意

mh

Related Posts

Android application development 第32章:実践ミニアプリ:シンプルなToDoリスト

Android application development 第31章:Firebase Analytics や Remote Config の活用

You Missed

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第2章:リージョンとゾーン、グローバルリソース:GCPの「物理的な場所」の考え方

  • 投稿者 mh
  • 6月 1, 2025
  • 2 views

現場で使えるChrome DevTools実践ガイド 第8章:NetworkパネルでのHTTP通信確認

  • 投稿者 mh
  • 6月 1, 2025
  • 2 views

Kubernetes Learning 第28章:Fluentd / Loki などのロギングスタック 〜Kubernetesログの集約と可視化〜

  • 投稿者 mh
  • 6月 1, 2025
  • 2 views

Android application development 第32章:実践ミニアプリ:シンプルなToDoリスト

  • 投稿者 mh
  • 6月 1, 2025
  • 2 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第1章:Google Cloud コンソールとGCPプロジェクト:あなたのGCPの「指令室」と「作業空間」

  • 投稿者 mh
  • 5月 31, 2025
  • 12 views

現場で使えるChrome DevTools実践ガイド 第7章:Performanceパネルでパフォーマンス分析

  • 投稿者 mh
  • 5月 31, 2025
  • 9 views