Firebase 오류 보고에서 Firebase Crashlytics로 업그레이드

Crashlytics는 Firebase의 새로운 기본 비정상 종료 보고 도구입니다. 앱에서 이미 Firebase 오류 보고를 사용하고 있다면 더 쉽습니다. Crashlytics에서 기존에 사용하던 것과 거의 동일한 설정 절차로 향상된 오류 보고를 제공하므로 다음과 같이 간단하게 업그레이드할 수 있습니다.

  1. 프로젝트의 종속성을 업데이트합니다.
  2. 로그 호출이 있다면 이전합니다.
  3. 이전에 수동 초기화를 사용했다면 Crashlytics용으로 다시 설정합니다.

프로젝트 종속 항목 업데이트

  1. Crashlytics 저장소 및 종속 항목을 프로젝트 수준의 build.gradle 파일에 추가합니다.
    buildscript {
        repositories {
            // ...
            maven {
               url 'https://maven.fabric.io/public'
            }
        }
        dependencies {
            // ...
            classpath 'io.fabric.tools:gradle:1.31.0'
        }
    }
    
    allprojects { // ... repositories { // ... maven { url 'https://maven.google.com/' } } }
  2. 참고: Crashlytics를 사용하려면 Google 서비스 플러그인 버전 3.1.2 이상이 필요합니다. 프로젝트의 build.gradle 종속 항목에서 com.google.gms:google-services 버전 번호를 확인하세요.
  3. Firebase Crashlytics에 대한 앱의 종속성을 업데이트하려면 앱 수준의 build.gradle을 변경합니다.
    apply plugin: 'com.android.application'
    /* Add the Fabric plugin: */
    apply plugin: 'io.fabric'
    
    dependencies {
        // ...
    
        /* Delete Crash Reporting:
        implementation 'com.google.firebase:firebase-crash:16.2.1'
    
        Add Crashlytics: */
        implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
    
        // Update your firebase-core version, if it's lower than v11.4.2
        implementation 'com.google.firebase:firebase-core:17.0.1'
    }

    로그 이전

    Firebase 오류 보고 맞춤 로그를 사용한 적이 있다면 Firebase Crashlytics에서도 업데이트해야 합니다.

    Firebase 오류 보고Firebase Crashlytics
    FirebaseCrash.log() Crashlytics.log()
    FirebaseCrash.logcat() Crashlytics.log()
    FirebaseCrash.report() Crashlytics.logException()

    수동 초기화 설정

    Firebase 오류 보고와 마찬가지로 Firebase Crashlytics SDK는 앱에 추가하는 즉시 Crashlytics를 자동으로 초기화합니다. 수동으로 보고를 초기화하려면 Crashlytics에서 다음과 같이 초기화할 수 있습니다.

    1. AndroidManifest.xml 파일의 Firebase 오류 보고 meta-data 태그를 Crashlytics용 태그로 교체합니다.
      <!-- Delete Crash Reporting:
      <meta-data
          android:name="firebase_crash_collection_enabled"
          android:value=false />
      
           Add Crashlytics: -->
      <meta-data
          android:name="firebase_crashlytics_collection_enabled"
          android:value="false" />
      
    2. 관련 활동에서도 초기화 호출을 교체합니다.

      자바

      /*   Delete Crash Reporting:
      FirebaseCrash.setCrashCollectionEnabled(true);
      
           Add Crashlytics: */
      Fabric.with(this, new Crashlytics());

      Kotlin

      /*   Delete Crash Reporting:
      FirebaseCrash.setCrashCollectionEnabled(true)
      
           Add Crashlytics: */
      Fabric.with(this, Crashlytics())
    참고: 초기화되면 사용자가 앱을 닫을 때까지 Crashlytics에서 계속 비정상 종료를 보고합니다. Crashlytics를 초기화 한 후 사용자가 보고를 선택 해제할 수 있도록 하려면 사용자가 앱을 다시 시작해야 변경사항이 적용됩니다.