Firebase Crashlytics 시작하기


이 빠른 시작에서는 앱에서 Firebase Crashlytics를 설정하는 방법을 설명합니다. Firebase Crashlytics SDK로 통합하면 종합적인 비정상 종료 발생률과 보고서를Firebase 콘솔에서 확인할 수 있습니다. Crashlytics 비정상 종료, 심각하지 않은 오류 및 비정상 종료에 관한 보고서를 "애플리케이션 응답 없음" 있습니다.

Crashlytics를 설정하려면 Firebase 콘솔 및 IDE (예: Firebase 구성 파일 및 Crashlytics 합니다. 설정을 완료하려면 테스트 비정상 종료를 강제로 적용하여 첫 번째 비정상 종료 보고서를 Firebase로 전송해야 합니다.

시작하기 전에

  1. 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다. Android 앱이 없다면 샘플 앱을 다운로드하면 됩니다.

  2. 권장: 자동으로 탐색경로 로그 비정상 종료, 심각하지 않은 문제, ANR 이벤트로 이어지는 사용자 작업을 이해하고 Firebase 프로젝트에서 Google Analytics를 사용 설정해야 합니다.

    • 기존 Firebase 프로젝트에 Google Analytics가 없는 경우 Google Analytics를 사용 설정하면 Integrations > 프로젝트 설정 Firebase 콘솔에서 확인할 수 있습니다.

    • 새 Firebase 프로젝트를 만드는 경우 Google Analytics를 사용 설정합니다. 프로젝트 생성 워크플로에서 작성할 수 있습니다

    </ph>

  3. 앱에 다음과 같은 최소 필수 버전이 있어야 합니다.

    • Gradle 8.0
    • Android Gradle 플러그인 8.1.0
    • Google 서비스 Gradle 플러그인 4.4.1

1단계: 앱에 Crashlytics SDK 추가

모듈 (앱 수준) Gradle 파일에서 (일반적으로 <project>/<app-module>/build.gradle.kts 또는 <project>/<app-module>/build.gradle) Android용 Crashlytics 라이브러리의 종속 항목을 추가합니다. 이때 Firebase Android BoM 드림 라이브러리 버전 관리를 제어할 수 있습니다.

탐색경로 로그를 활용하려면 다음 안내를 따르세요. 또한 앱에 Google Analytics용 Firebase SDK를 추가합니다. 그런 다음 Google 애널리틱스가 사용 설정됨 확인할 수 있습니다

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.2.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 라이브러리 버전만 사용합니다.

(대안) BoM를 사용하지 않고 Firebase 라이브러리 종속 항목을 추가합니다.

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:19.0.3")
    implementation("com.google.firebase:firebase-analytics:22.1.0")
}
드림
Kotlin 전용 라이브러리 모듈을 찾고 계신가요? 시작까지 남은 시간: 2023년 10월 (Firebase BoM 32.5.0), Kotlin 및 Java 개발자 모두 기본 라이브러리 모듈에 종속됩니다. 자세한 내용은 이 이니셔티브에 관한 FAQ).

2단계: 앱에 Crashlytics Gradle 플러그인 추가

  1. 루트 수준 (프로젝트 수준) Gradle 파일에서 (<project>/build.gradle.kts 또는 <project>/build.gradle) plugins 블록에 Crashlytics Gradle 플러그인을 추가합니다.

    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.2" apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id("com.google.firebase.crashlytics") version "3.0.2" 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.2' apply false
    
        // Add the dependency for the Crashlytics Gradle plugin
        id 'com.google.firebase.crashlytics' version '3.0.2' apply false
    }
  2. 모듈 (앱 수준) 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 설정을 완료하고 다음에서 초기 데이터를 확인하려면 Firebase 콘솔의 Crashlytics 대시보드에서 테스트를 강제 실행해야 합니다. 비정상 종료됩니다.

  1. 테스트 비정상 종료를 강제로 적용하는 데 사용할 수 있는 코드를 앱에 추가합니다.

    앱의 MainActivity에서 다음 코드를 사용하여, 누르면 비정상 종료를 일으키는 버튼을 앱에 추가할 수 있습니다. 버튼에 'Test Crash'라는 라벨이 지정되어 있습니다.

    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));
  2. 앱을 빌드하고 실행합니다.

  3. 앱의 첫 번째 비정상 종료 보고서를 전송하려면 테스트 비정상 종료를 강제로 적용합니다.

    1. 테스트 기기 또는 에뮬레이터에서 앱을 엽니다.

    2. 앱에서 위 코드를 사용하여 추가한 'Test Crash' 버튼을 누릅니다.

    3. 앱이 비정상 종료된 후에는 앱을 다시 시작하여 비정상 종료 보고서를 Firebase에 전송할 수 있도록 합니다.

  4. Crashlytics 대시보드로 이동하여 Firebase 콘솔에서 테스트 비정상 종료를 확인하세요.

    Console을 새로고침하고 5분 후에도 테스트 비정상 종료가 표시되지 않으면 디버그 로깅을 사용 설정하여 앱에서 비정상 종료 보고서를 전송하는지 확인합니다.


이제 모든 작업이 완료되었습니다. 이제 Crashlytics에서 앱의 비정상 종료(심각하지 않음)를 모니터링합니다. 오류, ANR이 포함됩니다 Crashlytics 대시보드로 이동하여 확인 및 조사 확인할 수 있습니다.

다음 단계

  • Google Play와 통합하여 Android 앱의 비정상 종료 보고서를 Google Play 트랙별로 필터링할 수 있습니다. Crashlytics 대시보드 이렇게 하면 특정 빌드에 대시보드를 더 집중할 수 있습니다.
  • Android 스튜디오에서 Crashlytics 데이터를 보고 필터링합니다.
    • Android 스튜디오의 App Quality Insights (AQI) 창을 사용하여 Crashlytics 확인 Crashlytics 대시보드와 IDE를 사용하여 주요 문제를 디버깅할 수 있습니다.
    • Android 스튜디오 문서에서 AQI 창을 사용하는 방법을 알아보세요.
    • 여러분의 소중한 의견을 기다리고 있습니다. 버그 신고를 제출하여 AQI 창에 관한 의견을 보내주세요.