본문 바로가기
IT/Android

Android Firebase Crashlytics 적용하기

by TechTonic 2022. 7. 29.
반응형

Android Firebase Crashlytics 적용하는 방법에 대해 알아봅시다.

Android Firebase Crashlytics

 

1. Firebase Crashlytics에 앱 등록하기

우선 배포된 앱에 적용을 위해 Firebase Console에 앱을 등록해야 합니다.

아래 설명을 따라 앱을 등록하도록 합시다.

 

Firebase Console URL : https://console.firebase.google.com/

 

로그인 - Google 계정

이메일 또는 휴대전화

accounts.google.com

콘솔에서 프로젝트 하나를 생성 후 앱을 추가해 줍니다.

앱 추가

등록하려는 앱의 패키지 닉네임 인증서 등...을 기재 후 앱 등록을 눌러주자.

앱 등록 절차

SAH-1 은 아래 커맨드를 통해 구할 수 있습니다.

keytool -list -v -alias <alias명> -keystore <KeyStore위치>

 

다음으로 google-service.json 파일을 다운로드하는 버튼이 나옵니다.

해당 파일을 다운로드 받은 후 앱 프로젝트에 추가합니다.

 

2. 앱 프로젝트에 Firebase SDK 추가

JSON 파일 등록 가이드

우선 프로젝트 형상을 Project 로 바꿔줍시다.

다운로드한 google-service.json 파일을 Ctrl+C 복사 후 app 폴더를 클릭 후 Ctrl+V로 복사 시켜줍니다.

 

Firebase Crashlyties SDK 를  사용하기 위해 사용하려는 앱에 dependencies를 추가합니다.

Gradle plugin 버전에 따라 넣는 방식이 다르니 참고하도록 합시다.

Gradle plugin 하위 버전의 경우는 Firebase에 안내된 내용으로 추가하면 되고, 내 앱의 경우 Gradle plugin v7.2.1 버전을 사용중으로 약간 차이가 있습니다.

 

build.gradle (project)

plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'com.google.gms.google-services' version '4.3.13' apply false  <-- 추가
    id 'com.google.firebase.crashlytics' version '2.9.1' apply false  <-- 추가
}

build.gradle (Module)

plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'  <-- 추가
    id 'com.google.firebase.crashlytics' <-- 추가
}


dependencies {

    implementation 'androidx.appcompat:appcompat:1.4.2'
    ...
    //Firebase 아래 3개 항목 추가.
    // Import the Firebase BoM
    implementation platform('com.google.firebase:firebase-bom:30.2.0')
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-crashlytics'
}

 

앱 설정은 이것으로 끝났습니다. Firebase Console 에서 다음 단계를 눌러서 적용하도록 합시다.

설정이 끝난 후 Console 을 보면 아래와 같이 앱이 추가된 것을 확인할 수 있습니다.

앱 추가 확인

 

3. Crashlytics 적용 테스트

적용은 끝났고 정상적으로 적용됐는지 테스트가 필요합니다.

테스트 방법은 강제로 Crash를 발생시켜 Crash log가 Firebase Crashlytics로 정상적으로 올라오는지 확인하면 됩니다.

 

강제 Crash를 발생 시키는 방법은 아래 절차를 따라 하도록 합시다.

Activity에 아래 코드를 삽입 후 앱 실행 시 버튼이 생성됩니다. 해당 버튼을 클릭하면 Crash 가 발생되며 앱은 종료됩니다.

/**
         * 크래시리틱스 강제 크래시 발생 코드 (운영 배포 시 삭제해야함)
         */
        Button crashButton = new Button(this);
        crashButton.setText("Test Crash");
        crashButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View view) {
                throw new RuntimeException("Test Crash"); // Force a crash
            }
        });

        addContentView(crashButton, new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT));

Crash 발생으로 앱이 종료된 후 Firebase Console 'Crashlytics' 메뉴를 통해  log 가 정상 적재됐는지 확인합시다.

아래와 같이 비정상 종료된 로그를 확인할 수 있습니다.

Crash 내용

 

관련 글 참고

2022.07.08 - [IT/ERROR] - File google-services.json is missing. The Google Services Plugin cannot function without it.

 

File google-services.json is missing. The Google Services Plugin cannot function without it.

햐.. 파이어베이스 연동하려고 하는데 해당 오류가 발생된다.. 구글링을 해봐도 모두 똑같다.... 아마도 버전 문제일듯 한데............. 해결해보자!!!!!!!!!! google-services.json 파일 등록 여러 블로그

soir1984.tistory.com

 

반응형

댓글