Начните работу с Crashlytics для Android

Выберите платформу: iOS+ Android Android NDK Flutter Unity


This guide describes how to get started with Firebase Crashlytics in your Android app.

После установки SDK Firebase Crashlytics в ваше приложение вы сможете получать подробные отчеты о сбоях в консоли Firebase . С Crashlytics для Android вы получаете отчеты о сбоях, некритических ошибках и ошибках типа «Приложение не отвечает» (ANR).

Для настройки Crashlytics необходимо выполнить действия как в консоли Firebase , так и в вашей IDE (например, добавить файл конфигурации Firebase и SDK Crashlytics ). Для завершения настройки вам потребуется принудительно вызвать сбой теста, чтобы отправить первый отчет о сбое в Firebase.

Прежде чем начать

  1. If you haven't already, add Firebase to your Android project. If you don't have an Android app, you can download a sample app .

  2. Recommended : To automatically get breadcrumb logs to understand user actions leading up to a crash, non-fatal, or ANR event, you need to enable Google Analytics in your Firebase project.

    • If you're creating a new Firebase project, enable Google Analytics during the project creation workflow.

    • If you're using an existing Firebase project that doesn't have Google Analytics enabled, you can enable it in the Settings > Integrations page of the Firebase console.

  3. Make sure your app has the following minimum required versions:

    • Gradle 8.0
    • Плагин Android Gradle 8.1.0
    • Плагин Gradle для сервисов Google 4.4.1

Шаг 1 : Добавьте SDK Crashlytics в ваше приложение.

В файле Gradle вашего модуля (уровня приложения) (обычно <project>/<app-module>/build.gradle.kts или <project>/<app-module>/build.gradle ) добавьте зависимость от библиотеки Crashlytics для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотек.

To take advantage of breadcrumb logs , also add the Firebase SDK for Google Analytics to your app. Make sure that Google Analytics is enabled in your Firebase project.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:34.12.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.

(Альтернативный вариант) Добавление зависимостей библиотеки Firebase без использования BoM

Если вы решите не использовать 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:20.0.5")
    implementation("com.google.firebase:firebase-analytics:23.2.0")
}

Step 2 : Add the Crashlytics Gradle plugin to your app

  1. In your root-level (project-level) Gradle file ( <project>/build.gradle.kts or <project>/build.gradle ), add the Crashlytics Gradle plugin to the plugins block:

    Kotlin

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id("com.android.application") version "8.1.4" apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id("com.google.gms.google-services") version "4.4.4" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.7" apply false
    }

    Groovy

    plugins {
        // Make sure that you have the AGP plugin 8.1+ dependency
        id 'com.android.application' version '8.1.4' apply false
        // ...
    
        // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency
        id 'com.google.gms.google-services' version '4.4.4' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.7' apply false
    }
  2. In your module (app-level) Gradle file (usually <project>/<app-module>/build.gradle.kts or <project>/<app-module>/build.gradle ), add the Crashlytics Gradle plugin:

    Kotlin

    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")
    }

    Groovy

    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 : Принудительно вызвать сбой теста для завершения настройки.

To finish setting up Crashlytics and see initial data in the Crashlytics dashboard of the Firebase console, you need to force a test crash.

  1. Add code to your app that you can use to force a test crash.

    You can use the following code in your app's MainActivity to add a button to your app that, when pressed, causes a crash. The button is labeled "Test Crash".

    Kotlin

    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))

    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));
  2. Создайте и запустите своё приложение.

  3. Force the test crash in order to send your app's first crash report:

    1. Откройте приложение на тестовом устройстве или эмуляторе.

    2. In your app, press the "Test Crash" button that you added using the code above.

    3. After your app crashes, restart it so that your app can send the crash report to Firebase.

  4. In the Firebase console, go to the DevOps & Engagement > Crashlytics dashboard to check for your test crash report.

    If you've refreshed the console and you're still not seeing the test crash after five minutes, enable debug logging to see if your app is sending crash reports.


And that's it! Crashlytics is now monitoring your app for crashes, non-fatal errors, and ANRs. Visit the Crashlytics dashboard to view and investigate all your reports and statistics.

Следующие шаги

  • Customize your crash report setup by adding opt-in reporting, logs, keys, and tracking of non-fatal errors.

  • Интеграция с Google Play позволит вам фильтровать отчеты о сбоях вашего Android-приложения по отслеживанию Google Play непосредственно на панели Crashlytics . Это позволит вам более точно сфокусировать панель мониторинга на конкретных сборках.

  • In Android Studio, view and filter Crashlytics data.

    • Используйте окно App Quality Insights (AQI) в Android Studio, чтобы просматривать данные Crashlytics рядом с вашим кодом — нет необходимости переключаться между панелью мониторинга Crashlytics и IDE для начала отладки наиболее распространенных проблем.
    • Learn how to use the AQI window in the Android Studio documentation.
    • We'd love to hear from you! Send us feedback about the AQI window by filing a bug report .

  • Export your data to BigQuery or Cloud Logging for advanced analysis and features, like querying your data, building custom dashboards, and setting up custom alerts.