[컴] Firebase Crashlytics

 안드로이드 / 아이오에스 / android / ios report / 크래시 / 종료 에러 로그 / 크래시리틱스

Firebase Crashlytics

‘오류 보고 솔루션’(crash reporting solution) 이다.

Firebase Crashlytics SDK를 사용해서 앱에 “Firebase Crashlytics”를 설정하여 Firebase Console에서 포괄적인 비정상 종료 보고서를 확인할 수 있다.

대략적인 history 를 확인하면, 이 Firebase Crashlytics 는 fabric 을 인수하면서 기존의 Fabric Crashlytics 가 Firebase Crashlytics 로 대체 되었다.

그리고 2020년 11월 15일을 기준으로 기존 Fabric SDK 의 지원은 중단되었다.[ref. 2]

그래서 이제는 Firebase Crashlytics SDK 버전  

  • 17.0.0 이상(Android용), 
  • 4.0.0 이상(iOS용), 
  • 6.15.0 이상(Unity용) 

을 사용해야 한다.

Android 에서 Firebase Crashlytics 사용

  1. Android 프로젝트에 Firebase 추가 [ref. 2]
  2. Firebase console 에서 Crashlytics 사용설정
  3. app 에 firebase crashlytics 추가
    1. project build.gradle 의 dependency 에 crashlytics 추가
    2. app build.gradle 의 plugin 에 crashlytics 추가
    3. app build.gradle 의 dependency 에 crashlytics 추가

 

// ------------------------
// project build.gradle
// ------------------------

buildscript {
    ...
    repositories {
        google()
        ...
    }
    dependencies {
        ...

        classpath 'com.google.gms:google-services:4.3.4'

        // Add the Crashlytics Gradle plugin (be sure to add version
        // 2.0.0 or later if you built your app with Android Studio 4.1).
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.4.1'

    }
}

allprojects {
    repositories {
        google()
        ...
    }
}
...
// ------------------------
// app build.gradle
// ------------------------

plugins {
    ...
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'

}

android {
    ...

    defaultConfig {
        applicationId "com.mycompany.dev"
        ...
    }
    ...

}

dependencies {
    ...
    // Firebase Crashlytics

    // Import the Firebase BoM
    implementation platform('com.google.firebase:firebase-bom:26.2.0')

    // When using the BoM, you don't specify versions in Firebase library dependencies

    // 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'
    implementation 'com.google.firebase:firebase-messaging-ktx'  // fcm , message 를 위한 것, optional
    implementation 'com.google.firebase:firebase-dynamic-links-ktx' // dynamic links 를 위한 것, optional

}

Android 프로젝트에 Firebase 추가 [ref. 2]

  1. firebase project 만들기
  2. firebase 에 app 등록
    • 이 때 자신이 만들고 있는 app 과 같은 package 명을 등록해야 한다.
    • 참고로, google-services.json 에는 자신이 등록한 모든 app 들의 정보가 함께 들어간다. 그래서 1개만 받으면 된다.
  3. 안드로이드 앱에서 firebase 사용 설정
    1. google-services.json 을 다운로드해서 <android_app_root>/app 에 넣는다.
    2. project build.gradle 에 google-services plugin 을 추가
    3. app build.gralde 에 plugin 추가
    4. app build.gralde 에 dependency 추가
firebase project 에 app 추가


troubleshooting

아래 같은 error 가 나올 수 있다. 이것은 google-services.json에 정의된 package name 과 현재 app 의 package version 이 달라서 나오는 error 이다.

> No matching client found for package name 'com.mycompany.dev'

Reference

  1. Firebase Crashlytics 시작하기
  2. Android 프로젝트에 Firebase 추가
  3. Firebase Crashlytics
  4. 구글, 트위터 모바일 앱 개발도구 ‘패브릭’ 인수 - IT조선 > 기업 > 외신

댓글 없음:

댓글 쓰기