Firebase에서 Crashlytics를 이렇게 소개하고 있다.
"Firebase Crashlytics는 가벼운 실시간 오류 보고 도구로 앱 품질을 저하하는 안정성 문제를 추적하고 우선순위를 지정하고 문제를 해결하는 데 도움이 됩니다. Crashlytics는 비정상 종료를 지능적으로 그룹화하고 이러한 비정상 종료를 유발하는 상황을 강조하여 보여주므로 문제해결 시간이 절약됩니다.
1. SDK 추가
- gradle(Project)
기존에 plugin만 있는데 아래의 코드를 추가해준다.
buildscript {
dependencies {
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.1'
}
}
적용 예
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
dependencies {
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.1'
}
}
plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
id 'org.jetbrains.kotlin.android' version '1.6.21' apply false
id 'com.google.gms.google-services' version '4.3.10' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
- gradle(Module)
plugins에는 아래 코드 추가
id 'com.google.firebase.crashlytics'//crashlytics
적용 예
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
id 'com.google.gms.google-services' //구글서비스 추가(firebase 앱 추가시에 넣음)
id 'com.google.firebase.crashlytics'//crashlytics
}
dependencies에 추가
//firebase crashlytics
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
2. 비정상 종료 강제로 적용하여 설정
버튼을 눌러서 강제 종료를 일으키도록 하였다. ClickListener안에 아래의 코드를 넣어준다
throw RuntimeException("Test Crash") // Force a crash
적용 예
override fun onClick(p0: View?) {
when(p0!!.id){
R.id.ll_settings_change_pass -> { //비밀번호 변경
val intent = Intent(this,ChangeAppPassActivity::class.java)
startActivity(intent)
}
R.id.ll_settings_export_csv -> {
exportDatabaseToCSVFile()
}
R.id.ll_settings_developer -> { //개발자에게 메일 보내기
sendEmailToDeveloper(this,"개발자에게 문의 메일보내기")
}
R.id.ll_settings_notice -> {
throw RuntimeException("Test Crash")
}
}
앱 감지 및 비정상 종료 감지 확인
'개발 공부 > Android' 카테고리의 다른 글
[Android Kotlin] WebView 구현하기 (0) | 2022.09.08 |
---|---|
[Android Kotlin] Clipboard 복사 기능 구현하기(copy) (0) | 2022.09.02 |
[Android Kotlin] AdMob 광고단위 생성 및 Android 앱에 전면광고 넣기 (2) | 2022.08.24 |
[Android Kotlin] Retrofit String으로 응답 값 받는 방법 (0) | 2022.08.23 |
[Android] SHA1 확인하는 방법 (0) | 2022.08.22 |