В этом кратком руководстве описывается, как настроить Firebase Crashlytics в вашем приложении с помощью SDK Firebase Crashlytics, чтобы вы могли получать исчерпывающие отчеты о сбоях в консоли 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
) добавьте зависимость для библиотеки 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:31.2.3') // 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 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.5' implementation 'com.google.firebase:firebase-analytics-ktx:21.2.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.3') // 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:18.3.5' implementation 'com.google.firebase:firebase-analytics:21.2.0' }
Шаг 2. Добавьте плагин Crashlytics Gradle в свое приложение.
В файле Gradle корневого уровня (уровня проекта) (
<project>/build.gradle
) добавьте подключаемый модуль Crashlytics Gradle в качестве зависимости buildscript: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.15' // Add the dependency for the Crashlytics Gradle plugin classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.4' } }
В файле 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 и увидеть исходные данные на панели инструментов 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, заполнив отчет об ошибке .