Firebase Crashlytics는 전신이 Fabric Crashlytics이며, 실시간 비정상 종료 보고 도구입니다.
이를 처리하기 쉽게 목록으로 종합해 정보를 제공하고, 비정상 종료의 심각도와 발생률또한 보여줍니다.
최대의 장점은 부착하기 쉽고, 제어가 간편하다는 점입니다.
ANR이나 crash로 인해 앱이 종료된 후, 다시 실행시켰을 때 fb crashlytics로 해당 에러를 전송해줍니다.
주의점은, Firebase의 여타 컴포넌트들과 달리, FirebaseApp으로 Instance생성이 불가능하다는 점입니다.
https://firebase.google.com/docs/crashlytics
Crashlytics를 사용하려면, application package를 firebase project에 등록해야 합니다.
이 부분은 생략하도록 하겠습니다.
Firebase Crashlytics 플러그인 추가
project level build.gradle
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.7.1'
}
}
allprojects {
repositories {
// Check that you have Google's Maven repository (if not, add it).
google()
}
}
app level build.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'
dependencies {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:28.4.0')
// 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:firebase-bom 사용시 장점 : 버전에 대한 명시를 firebase-bom항목에만 해주면 되어, 버전관리가 용이
이렇게만 적용해줘도 적용이 끝납니다.
추가적으로 의도적으로 crash를 내 테스트를 원하신다면,
crashButton.setOnClickListener {
throw RuntimeException("Test Crash") // Force a crash
}
위와같은 식으로 버튼에 이벤트를 심어주시면 됩니다.
아래처럼 Analytics에 연결하거나, 간단한 로그를 찍을수도 있습니다.
val myFirebaseAnalytics = FirebaseAnalytics.getInstance(applicationContext)
val myCrashlytics = FirebaseCrashlytics.getInstance()
myCrashlytics.log("this is app message")
더 자세한 사용법은, Firebase Document를 참조하시면 되겠습니다.
편리한 기능을 생각보다 간단히 적용할 수 잇습니다 :)
'IDE & Framework > Android' 카테고리의 다른 글
[Kotlin] Broadcast 란? 사용법과 예제 (0) | 2022.01.15 |
---|---|
[Kotlin] RemoteConfig 적용하기 [간단] (0) | 2022.01.09 |
[Kotlin] Firebase Crashlytics 적용시키기 (간단!) (0) | 2022.01.09 |
[JAVA] Base64 incoding, decoding (0) | 2022.01.06 |
[Kotlin] InCallService로 Default Dialer 개발하기 (4) | 2021.12.19 |