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

В этом кратком руководстве описывается, как настроить Firebase Crashlytics в вашем приложении с помощью SDK Firebase Crashlytics, чтобы вы могли получать исчерпывающие отчеты о сбоях в консоли 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.3')

    // 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.6'
    implementation 'com.google.firebase:firebase-analytics:20.0.2'
}

Котлин+КТХ

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

    // 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.6'
    implementation 'com.google.firebase:firebase-analytics-ktx:20.0.2'
}

Шаг 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));
    

    Котлин+КТХ

    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 , чтобы просмотреть и изучить все ваши отчеты и статистические данные.

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