ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Firebase Crashlytics 에 대해
    안드로이드 2023. 3. 5. 22:06

    Firebase Crashlytics 는 앱 사용중 크래시 발생으로 비정상 종료시 이에 대한 보고서를 자동으로 생성하고 개발자가 볼 수 있게 도와주는 역할을 한다.

     

    로고 이쁘다

     

    앱 사용 환경은 매우 다양한데, 앱 배포 이후 다양한 환경에서 발생하는 여러 크래시 정보들을 볼 수 없다면 이에 대한 패치 또한 이루어질 수 없고, 이는 결국 사용자 수 감소로 이어질 것이다.

     

    Crashlytics 는 이러한 문제를 해결하고 관리할 수 있게 도와준다.

     

    연동 방법

    먼저, Firebase 콘솔에 앱을 등록해야 한다.

    이 글에서 Firebase 앱 등록까지 다 진행하면 너무 길어질 것 같아 아래 링크를 참고해 등록하면 될 것이다.

    https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS3455201881 

     

    [Android + Firebase] 안드로이드 앱에 파이어베이스 추가하기

    파이어베이스는 고품질의 앱을 빠르게 개발하도록 도와주는 백엔드 서비스입니다. 대부분의 서버 기능들을 실제 서버 구성없이 배포가 가능한 수준의 서비스로 만들 수 있기 때문에 백엔드 개

    m.hanbit.co.kr

    내 프로젝트의 경우에는 FCM 서비스를 이용하기 위해 Firebase 에 앱 등록은 이미 해 둔 상태였다.

     

    그럼 앱 등록을 완료했다 치고 다음 과정으로 넘어가겠다.

     

    모듈 단위의 build.gradle 파일을 열고, 맨 위 'plugins' 부분에 아래 코드를 추가한다.

    id 'com.google.firebase.crashlytics'

    그리고 아래 'dependencies' 에 아래 코드를 추가한다.

    implementation platform('com.google.firebase:firebase-bom:31.2.0')
    implementation 'com.google.firebase:firebase-crashlytics-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'

    다음은 프로젝트 단위의 build.gradle 파일을 열고 'buildscript' 내 'dependencies' 에 아래 코드를 추가한다.

    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'

    버전은 업데이트 될 수 있으니, Firebase 공식 페이지에 들어가서 최신 버전으로 설정해주면 된다.

     

    연동 과정이 끝났다. 이제 앱 빌드 후 Firebase 콘솔로 들어가면 Crashlytics 메뉴가 추가된 것을 볼 수 있다.

    Crashlytics 가 추가됐다

    이 Crashlytics 메뉴로 들어가면 판도라의 상자처럼 발생한 크래시 정보들을 확인할 수 있다.

    열고 싶지 않았는데..

    이렇게 앱 사용중 발생한 크래시 정보들을 확인할 수 있다.

     

    만약 아직 배포되지 않았거나 사용자 수가 적어 잘 연동되었는지 체크를 할 수 없는 상황이라면 고의로 크래시를 발생시켜 연동이 잘 되었는지 체크할 수 있는 샘플 코드가 있다.

    val crashButton = Button(this)
    crashButton.text = "Test Crash"
    crashButton.setOnClickListener {
       throw RuntimeException("Test Crash") // 크래시 발생
    }
    
    addContentView(crashButton, ViewGroup.LayoutParams(
           ViewGroup.LayoutParams.MATCH_PARENT,
           ViewGroup.LayoutParams.WRAP_CONTENT))

    코드를 추가하고 빌드하면 'Test Crash ' 버튼이 생기고 이를 클릭하면 크래시가 발생하고 연동을 테스트할 수 있다.

    배포시 꼭 이 코드는 삭제하는 것을 잊지 말자.

     

    앱의 사용자가 많아지면 Build Variants 를 설정해 디버그, 릴리즈 각 버전 별로 Crashlytics 를 연동해 디버그 버전에서 테스트 하는 로그와 릴리즈 버전에서 발생하는 로그를 따로 관리할 수 있다.

     

    아직 앱 사용자가 많지 않아 오버 엔지니어링으로 판단되어 현재 개발중인 프로젝트에는 적용하지 않았지만 이후 사용자가 많아지거나 프로젝트 규모가 커지면 이 방법도 적용해 봐야겠다.

    댓글

Designed by Tistory.