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 第33章:実践ミニアプリ:天気情報アプリ

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

You Missed

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第12章:Cloud CDN(Content Delivery Network):あなたのWebサイトを「世界中のユーザーに超高速で届ける宅配便ネットワーク」

  • 投稿者 mh
  • 6月 20, 2025
  • 3 views

Kubernetes Learning 第38章:Operatorとは? ~Kubernetesに「運用の自動化ロボット」を組み込む仕組み~

  • 投稿者 mh
  • 6月 19, 2025
  • 16 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第11章:Cloud Load Balancing:あなたのGCPリソースを「賢く振り分ける交通整理の達人」

  • 投稿者 mh
  • 6月 18, 2025
  • 17 views

Kubernetes Learning 第37章:JenkinsやGitHub ActionsからのKubernetesデプロイ例 ~CI/CDツールとKubernetesをつなげてみよう~

  • 投稿者 mh
  • 6月 17, 2025
  • 21 views

Google Cloud Platform エンジニア向け教科書:実践から認定まで : 第10章:Cloud DNS:インターネットの「電話帳」サービス

  • 投稿者 mh
  • 6月 16, 2025
  • 24 views

Kubernetes Learning 第36章:Argo CDとFluxの概要~Kubernetesの自動運用を支えるGitOpsツール~

  • 投稿者 mh
  • 6月 15, 2025
  • 39 views