В этом кратком руководстве описывается, как настроить Firebase Crashlytics в вашем приложении с помощью Firebase Crashlytics SDK, чтобы вы могли получать подробные отчеты о сбоях в консоли Firebase.С помощью Crashlytics для Android вы получаете отчеты о сбоях, нефатальных ошибках и ошибках «Приложение не отвечает» (ANR).
Для настройки Crashlytics требуются задачи как в консоли Firebase, так и в вашей IDE (например, добавление файла конфигурации Firebase и Crashlytics SDK). Чтобы завершить настройку, вам нужно будет принудительно выполнить тестовый сбой, чтобы отправить первый отчет о сбое в Firebase.
Прежде чем вы начнете
Если вы еще этого не сделали, добавьте Firebase в свой проект Android. Если у вас нет приложения для Android, вы можете загрузить его образец .
Рекомендуется : чтобы получить такие функции, как бесперебойная работа пользователей, навигационные журналы и оповещения о скорости, вам необходимо включить Google Analytics в своем проекте Firebase.
Если в вашем существующем проекте Firebase не включена Google Analytics, вы можете включить Google Analytics на вкладке «Интеграции» ваших > «Настройки проекта» в консоли Firebase.
Если вы создаете новый проект Firebase, включите Google Analytics во время рабочего процесса создания проекта.
Шаг 1. Добавьте Crashlytics SDK в свое приложение.
В файле Gradle вашего модуля (на уровне приложения) (обычно<project>/<app-module>/build.gradle.kts
или <project>/<app-module>/build.gradle
) добавьте зависимость для Crashlytics Android. библиотека. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.Для оптимальной работы с Crashlytics мы рекомендуем включить Google Analytics в вашем проекте Firebase и добавить Firebase SDK для Google Analytics в ваше приложение.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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.
(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать спецификацию Firebase, вы должны указать каждую версию библиотеки 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.4.3") implementation("com.google.firebase:firebase-analytics-ktx:21.3.0") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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, вы должны указать каждую версию библиотеки 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.4.3") implementation("com.google.firebase:firebase-analytics:21.3.0") }
Шаг 2. Добавьте плагин Crashlytics Gradle в свое приложение.
В файле Gradle корневого уровня (уровня проекта) (
<project>/build.gradle.kts
или<project>/build.gradle
) добавьте плагин Crashlytics Gradle в блокplugins
:Kotlin
plugins { id("com.android.application") version "7.2.0" apply false // ... // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.3.15" apply false // Add the dependency for the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") version "2.9.9" apply false }
Groovy
plugins { id 'com.android.application' version '7.2.0' apply false // ... // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.3.15' apply false // Add the dependency for the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' version '2.9.9' apply false }
В файле Gradle вашего модуля (на уровне приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) добавьте плагин Crashlytics Gradle: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. Принудительно завершите тестирование, чтобы завершить настройку.
Чтобы завершить настройку Crashlytics и просмотреть исходные данные на панели управления Crashlytics консоли Firebase, необходимо принудительно завершить тест.
Добавьте в свое приложение код, который можно использовать для принудительного завершения теста.
Вы можете использовать следующий код в
MainActivity
вашего приложения, чтобы добавить в приложение кнопку, нажатие которой вызывает сбой. Кнопка называется «Тестовый сбой».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))
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));
Создайте и запустите свое приложение.
Принудительно завершить тест, чтобы отправить первый отчет о сбое вашего приложения:
Откройте приложение на тестовом устройстве или в эмуляторе.
В своем приложении нажмите кнопку «Тестировать сбой», которую вы добавили с помощью приведенного выше кода.
После сбоя вашего приложения перезапустите его, чтобы ваше приложение могло отправить отчет о сбое в Firebase.
Перейдите на панель управления Crashlytics консоли Firebase, чтобы увидеть сбой вашего теста.
Если вы обновили консоль и по-прежнему не видите сбой теста через пять минут, включите ведение журнала отладки , чтобы узнать, отправляет ли ваше приложение отчеты о сбоях.
Вот и все! Crashlytics теперь отслеживает ваше приложение на предмет сбоев, нефатальных ошибок и ошибок ANR. Посетите панель управления Crashlytics , чтобы просмотреть и изучить все ваши отчеты и статистику.
Следующие шаги
- Настройте настройку отчета о сбоях , добавив дополнительные отчеты, журналы, ключи и отслеживание нефатальных ошибок.
- Интегрируйтесь с Google Play , чтобы можно было фильтровать отчеты о сбоях вашего приложения Android по трекам Google Play прямо на панели управления Crashlytics. Это позволяет вам лучше сосредоточить панель управления на конкретных сборках.
- В Android Studio просматривайте и фильтруйте данные Crashlytics.
- Используйте окно App Quality Insights (AQI) в Android Studio для просмотра данных Crashlytics вместе с вашим кодом — не нужно переключаться между панелью управления Crashlytics и IDE, чтобы начать отладку основных проблем.
- Получите доступ к окну AQI в выпуске Electric Eel от Android Studio (стабильная версия) или опробуйте новые функции AQI в Flamingo (бета-версия). Загрузите желаемую версию Android Studio.
- Узнайте , как использовать окно AQI, в документации Android Studio.
- Мы хотели бы услышать от вас! Отправьте нам отзыв об окне AQI, отправив отчет об ошибке .