Analytics, Crashlytics 을 알아보자

312·2024년 5월 23일

Android 알아보기

목록 보기
5/7

Analytics?


Google에서 제공하는 Analytics는 출시된 앱의 다양한 보고를 위해 사용된다.

Crashlytics?

앱을 만들고 스토어에 출시하고 나면 그제서야 보이는 버그들이 있다.

미리 발견한다면 괜찮지만 발견하지 못한 오류가 충돌을 일으켜 앱이 종료되는 경우 이용자들에게서 Crashlytics을 통해 충돌 오류 로그를 받아 볼 수 있다.

How to Analytics, Crashlytics

먼저 Firebase에 앱을 등록해줘야 한다.
https://console.firebase.google.com/ 으로 이동해

프로젝트를 생성해주고 절차에 따라 진행해준다.

SHA-1 키는 gradlesigningReport을 통해 얻을 수 있다.

그리고

해당 앱의 설정 페이지에서 sdk를 다운받아 앱의 app경로 바로 아래에 위치시켜 준다.
app 경로는 project 상태에서 볼 수 있다.

gradle.kts(Module)

implementation("com.google.firebase:firebase-crashlytics:19.0.1")
implementation("com.google.firebase:firebase-analytics:22.0.1")

마지막으로 그래들에 analtyicscrashlytics을 추가해주면 된다.

Analytics 이벤트 추적


별도로 코드를 작성하지 않아도 주기적으로 오류 보고를 보내기 때문에 Analytics에 등록이 된다.

하지만 추가적인 정보나 로그가 필요한 경우 ActivityonCreate()에서 FirebaseAnalytics.getInstance()를 호출하여 Firebase Analytics를 활성화 한다.

활성화된 인스턴스를 활용해 로그 이벤트를 남길 수 있다.

  1. 번들에 putString(), putInt() 등으로 로그로 남기길 원하는 데이터들을 넣어주어 내보내는 방법
val bundle = Bundle().apply {
	putString("screen_name", "{screenName}")
}

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bundle)
  1. AnalyticsKt 확장함수 이용하기
public inline fun FirebaseAnalytics.logEvent(
	name: kotlin.String, crossinline block: ParametersBuilder.() -> kotlin.Unit): kotlin.Unit {
        /* compiled code */ 
}

따라서 다음과 같이 파라미터빌더를 활용해 간단하게 보낼 수 있다.

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
	param("screen_name", "{screenName}")
}

Crashlytics 충돌 추적


Firebase Console에서 해당 앱의 실행 탭에서 Crashlytics 항목에 접근하면 앱 이용의 비정상 종료 상황에 대한 로그를 보고받을 수 있다.


에러를 누르면 로컬 Logger에서 보는것처럼 어디서 에러가 발생했는지, 어떤 에러인지 심지어 커스텀 에러 로그 메시지도 보고 받을수 있었다.

심지어 IDE버전 electric eel이후 부터는 직접적인 연결을 통해 바로바로 확인할 수 있다..!

회사에서는 B2B서비스만 작업했기 때문에 문제가 생기면 고객사에서 바로 연락을 줬었다.

그때마다 Crashlytics를 뒤져가며 오류를 찾았는데, 커스텀 로그메시지를 조금 더 일찍 알았더라면 깔끔한 대처가 가능했을 것 같다..!

해당 velog를 참고했습니다.

profile
안드로이드 개발자 이상일입니다.

0개의 댓글