Catch up on everthing we announced at this year's Firebase Summit. Learn more

Начать работу с Firebase Crashlytics

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

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

Прежде чем вы начнете

  1. Если вы еще не сделали, добавить Firebase в свой Android проекта. Если у вас нет приложения для Android, вы можете загрузить пример приложения .

  2. Рекомендуется: Для того, чтобы получить такие функции , как краш-бесплатных пользователей, журналы хлебных крошек и оповещения скорости, Вам необходимо включить Google Analytics в проекте Firebase.

    • Если ваш существующий проект Firebase не включен Google Analytics, вы можете включить Google Analytics из вкладки интеграций ваших > Настройки проекта в консоли Firebase.

    • Если вы создаете новый проект Firebase, включите Google Analytics во время рабочего процесса создания проекта.

Шаг 1: Включить Crashlytics в консоли Firebase

  1. Перейти к приборной панели Crashlytics в консоли Firebase.

  2. Убедитесь , что ваше приложение выбрано из выпадающего списка рядом с Crashlytics в верхней части страницы.

  3. Нажмите кнопку Включить Crashlytics.

Шаг 2: Добавьте Firebase Crashlytics SDK для вашего приложения

Использование Firebase Android Банка Москвы , объявить зависимость для библиотеки Crashlytics Android в вашем модуле (приложение уровня) Gradle файл (обычно app/build.gradle ).

Для оптимальной работы с Crashlytics, мы рекомендуем позволяет Google Analytics в проекте Firebase и добавление Firebase SDK для Google Analytics для вашего приложения.

Джава

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

    // Declare 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 Банка Москвы , ваше приложение будет всегда использовать совместимые версии библиотек Firebase Android.

(Альтернативный) Объявляет Firebase библиотеки зависимостей без использования спецификации

Если вы решите не использовать Firebase BoM, вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.

Обратите внимание , что если вы используете несколько библиотеки Firebase в вашем приложении, мы настоятельно рекомендуем использовать спецификации для управления версиями библиотеки, что гарантирует , что все версии совместимы.

dependencies {
    // Declare 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.2.5'
    implementation 'com.google.firebase:firebase-analytics:20.0.0'
}

Котлин + KTX

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

    // Declare 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 Банка Москвы , ваше приложение будет всегда использовать совместимые версии библиотек Firebase Android.

(Альтернативный) Объявляет Firebase библиотеки зависимостей без использования спецификации

Если вы решите не использовать Firebase BoM, вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.

Обратите внимание , что если вы используете несколько библиотеки Firebase в вашем приложении, мы настоятельно рекомендуем использовать спецификации для управления версиями библиотеки, что гарантирует , что все версии совместимы.

dependencies {
    // Declare 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.2.5'
    implementation 'com.google.firebase:firebase-analytics-ktx:20.0.0'
}

Шаг 3: Добавьте плагин Firebase Crashlytics для вашего приложения

  1. В вашем проектном уровне build.gradle файл, добавьте плагин Crashlytics Gradle как buildscript зависимость.

    buildscript {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    
        dependencies {
            // ...
    
            // Check that you have the Google services Gradle plugin v4.3.2 or later
            // (if not, add it).
            classpath 'com.google.gms:google-services:4.3.10'
    
            // Add the Crashlytics Gradle plugin
            classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'
        }
    }
    
    allprojects {
        repositories {
            // Check that you have Google's Maven repository (if not, add it).
            google()
        }
    }
  2. В вашем приложении уровень build.gradle файл, применить плагин Crashlytics Gradle:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services' // Google services Gradle plugin
    
    // Apply the Crashlytics Gradle plugin
    apply plugin: 'com.google.firebase.crashlytics'
    

Шаг 4: Force краш - тест , чтобы завершить установку

Чтобы завершить настройку Crashlytics и увидеть исходные данные на панели инструментов Crashlytics консоли Firebase, вам необходимо вызвать тестовый сбой.

  1. Добавьте в свое приложение код, который можно использовать для принудительного сбоя теста.

    Вы можете использовать следующий код вашего приложения MainActivity , чтобы добавить кнопку в приложении, при нажатии, вызывает сбой. Кнопка помечена как «Проверить сбой».

    Джава

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

    Котлин + 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. В своем приложении нажмите кнопку «Проверить сбой», которую вы добавили с помощью приведенного выше кода.

    3. После сбоя приложения перезапустите его, чтобы приложение могло отправить отчет о сбое в Firebase.

  4. Перейти к приборной панели Crashlytics консоли Firebase увидеть краш - тест.

    Если вы обновили консоль , и вы все еще не видите краш - тест через пять минут, включить ведение журнала отладки , чтобы увидеть , если ваше приложение отправляет отчеты об ошибках.


Вот и все! Crashlytics теперь отслеживает ваше приложение на предмет сбоев, нефатальных ошибок и ошибок ANR. Посетите панель Crashlytics , чтобы просмотреть и изучить все ваши отчеты и статистические данные.

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