Firebase - Android Codelab (12): 크래시 보고

1 분 소요

Firebase Android Codelab 튜토리얼 중에서 15. Report Crashes 을 한국어로 정리/요약 했다.

크래시 보고

Firebase Crashlytics는 앱이 크래시 발생과 크래시를 이끈 이벤트 로그를 보고할 수 있도록 한다.

파이어베이스 크래시 의존성 추가

앱의 모듈 app/build.gradle 파일에 crashlytics 의존성을 추가한다.

app/build.gradle 파일:

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

dependencies {
    // ...
  implementation 'com.crashlytics.sdk.android:crashlytics:2.7.1'
}

그리고 Fabric maven repository 의존성이 프로젝트 build.gradle에 있는지 확인한다..

project/build.gradle

buildscript {
    repositories {
        // ...
        maven {
           url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        // ...
        classpath 'io.fabric.tools:gradle:1.24.4'
    }
}

초기화

메뉴에 Cause Crash 메뉴를 추가하고, 메뉴 처리시 크래시를 발생하도록 해보자, onOptionsItemSelected 메서드에 crash_menu를 다루도록 추가한다.

MainActivity.java

@Override
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {
       case R.id.crash_menu:
           Log.w("Crashlytics", "Crash button clicked");
           causeCrash();
           return true;
       case R.id.invite_menu:
           sendInvitation();
           return true;
       case R.id.fresh_config_menu:
           fetchConfig();
           return true;
       case R.id.sign_out_menu:
           mFirebaseAuth.signOut();
           mUsername = ANONYMOUS;
           startActivity(new Intent(this, SignInActivity.class));
           return true;
              default:
           return super.onOptionsItemSelected(item);
   }
}

causeCrash method

MainActivity안에 다음 causeCrash method 를 추가해 주자:

MainActivity.java

private void causeCrash() {
   throw new NullPointerException("Fake null pointer exception");
}

Test AdMob

  1. To activate the app with Firebase Crashlytics, go to the Firebase Dashboard and click ‘Crashlytics’, select ‘Yes, this app is new to Crashlytics.’

[그림. 새 크래시리틱 생성하기]
  1. 앱 화면의 메뉴에서 Cause Crash 를 실행한다.

  2. 크래시 보고가 업로드 성공하면 로그캣에서 확인할 수 있다. (크래시 보고 업로드가 안 보이면 로그캣 필터를 No Filters로 한다.)

[그림. 크래시 보고 로그캣 메시지]

크래시가 보고된 후에 5분 후 파이어베이스 콘솔에서 확인이 가능하다.

  1. 파이어베이스 콘솔에서 Crashlytics 에서 보고서를 확인할 수 있다.

[그림. 크래시리틱 보고]

참조

Firebase Android codelab 시리즈:

  1. Android Codelab: 프로젝트 시작
  2. Android Codelab: Firebase console
  3. Android Codelab: Authentication
  4. Android Codelab: Read A message
  5. Android Codelab: Send A message
  6. Android Codelab: Logging User action
  7. Android Codelab: Cloud Messaging
  8. Android Codelab: Remote Config
  9. Android Codelab: App Invites
  10. Android Codelab: Track User Flows
  11. Android Codelab: Ads
  12. Android Codelab: Crash
  13. Android Codelab: Test Lab

Firebase 소개:

댓글남기기