Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

FirebaseCrashlyticsを使い始める

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このクイックスタートでは、Firebase コンソールで包括的なクラッシュ レポートを取得できるように、Firebase Crashlytics SDK を使用してアプリで Firebase Crashlytics を設定する方法について説明します。Crashlytics for Android を使用すると、クラッシュ、致命的ではないエラー、「アプリケーションが応答しません」(ANR) エラーのレポートを取得できます。

Crashlytics をセットアップするには、Firebase コンソールと IDE の両方でタスクが必要です (Firebase 構成ファイルと Crashlytics SDK の追加など)。セットアップを完了するには、テスト クラッシュを強制して、最初のクラッシュ レポートを Firebase に送信する必要があります。

あなたが始める前に

  1. まだ行っていない場合は、 Firebase を Android プロジェクトに追加します。 Android アプリをお持ちでない場合は、サンプル アプリをダウンロードできます。

  2. 推奨: クラッシュ フリー ユーザー、ブレッドクラム ログ、ベロシティ アラートなどの機能を取得するには、Firebase プロジェクトで Google アナリティクスを有効にする必要があります。

    • 既存の Firebase プロジェクトで Google アナリティクスが有効になっていない場合は、Firebase コンソールの [ ] > [プロジェクト設定] の[統合] タブから Google アナリティクスを有効にすることができます。

    • 新しい Firebase プロジェクトを作成する場合は、プロジェクト作成ワークフローで Google アナリティクスを有効にします。

ステップ 1 : Crashlytics SDK をアプリに追加する

モジュール (アプリ レベル) の Gradle ファイル(通常は<project>/<app-module>/build.gradle ) で、Crashlytics Android ライブラリの依存関係を追加します。ライブラリのバージョン管理には、 Firebase Android BoMを使用することをお勧めします。

Crashlytics で最適なエクスペリエンスを得るには、Firebase プロジェクトでGoogle アナリティクスを有効にし、Google アナリティクス用の Firebase SDK をアプリに追加することをお勧めします。

Java

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.1.0')

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics'
    implementation 'com.google.firebase:firebase-analytics'
}

Firebase Android BoMを使用すると、アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。

(代替) BoM を使用せずに Firebase ライブラリの依存関係を追加する

Firebase BoM を使用しないことを選択した場合は、依存関係の行で各 Firebase ライブラリ バージョンを指定する必要があります。

アプリで複数のFirebase ライブラリを使用する場合は、BoM を使用してライブラリ バージョンを管理することを強くお勧めします。これにより、すべてのバージョンに互換性が確保されます。

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics:18.3.2'
    implementation 'com.google.firebase:firebase-analytics:21.2.0'
}

Kotlin+KTX

dependencies {
    // Import the BoM for the Firebase platform
    implementation platform('com.google.firebase:firebase-bom:31.1.0')

    // Add the dependencies for the Crashlytics and Analytics libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
}

Firebase Android BoMを使用すると、アプリは常に互換性のあるバージョンの Firebase Android ライブラリを使用します。

(代替) BoM を使用せずに Firebase ライブラリの依存関係を追加する

Firebase BoM を使用しないことを選択した場合は、依存関係の行で各 Firebase ライブラリ バージョンを指定する必要があります。

アプリで複数のFirebase ライブラリを使用する場合は、BoM を使用してライブラリ バージョンを管理することを強くお勧めします。これにより、すべてのバージョンに互換性が確保されます。

dependencies {
    // Add the dependencies for the Crashlytics and Analytics libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-crashlytics-ktx:18.3.2'
    implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0'
}

ステップ 2 : Crashlytics Gradle プラグインをアプリに追加する

  1. ルート レベル (プロジェクト レベル) のGradle ファイル ( <project>/build.gradle ) で、ビルドスクリプトの依存関係として Crashlytics Gradle プラグインを追加します。

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
        }
    }
  2. モジュール (アプリ レベル) のGradle ファイル (通常は<project>/<app-module>/build.gradle ) に、Crashlytics Gradle プラグインを追加します。

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics'
        ...
    }

ステップ 3 : テスト クラッシュを強制してセットアップを終了する

Crashlytics の設定を完了し、Firebase コンソールの Crashlytics ダッシュボードで初期データを確認するには、テスト クラッシュを強制する必要があります。

  1. テスト クラッシュを強制するために使用できるコードをアプリに追加します。

    アプリのMainActivityで次のコードを使用して、押すとクラッシュするボタンをアプリに追加できます。ボタンには「Test Crash」というラベルが付いています。

    Java

    Button crashButton = new Button(this);
    crashButton.setText("Test Crash");
    crashButton.setOnClickListener(new View.OnClickListener() {
       public void onClick(View view) {
           throw new RuntimeException("Test Crash"); // Force a crash
       }
    });
    
    addContentView(crashButton, new ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT));
    

    Kotlin+KTX

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // Force a crash
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))
    
  2. アプリをビルドして実行します。

  3. アプリの最初のクラッシュ レポートを送信するために、テスト クラッシュを強制します。

    1. テスト デバイスまたはエミュレーターからアプリを開きます。

    2. アプリで、上記のコードを使用して追加した [Test Crash] ボタンを押します。

    3. アプリがクラッシュしたら、アプリを再起動して、アプリがクラッシュ レポートを Firebase に送信できるようにします。

  4. Firebase コンソールのCrashlytics ダッシュボードに移動して、テストのクラッシュを確認します。

    コンソールを更新しても 5 分経ってもテスト クラッシュが表示されない場合は、デバッグ ログを有効にして、アプリがクラッシュ レポートを送信しているかどうかを確認してください。


以上です! Crashlytics は現在、アプリのクラッシュ、致命的でないエラー、ANR を監視しています。 Crashlytics ダッシュボードにアクセスして、すべてのレポートと統計を表示して調査します。

次のステップ

  • Google Play と統合して、Crashlytics ダッシュボードで直接 Google Play トラックによって Android アプリのクラッシュ レポートをフィルタリングできるようにします。これにより、ダッシュボードを特定のビルドに集中させることができます。
  • Android Studio のApp Quality Insightsウィンドウを使用して、スタック トレースとクラッシュ統計をコードと一緒に直接表示します。このツールを使用すると、Crashlytics ダッシュボードと IDE の間を行き来する必要がなくなり、重要な問題への対処を開始できます。