이번 오류 포스팅은 안드로이드 Google 애널리틱스 이벤트 로깅이 안 잡히는 이슈 해결방법을 포스팅해보겠다.
물론 다른 경우에 따라 이 해결방법이 아닐 수도 있지만 나에 경우는 이 오류였기 때문에 혹시나 나랑 같은 분이 계실까 봐 공유를 한다.
# 오류 발단
우선 나의 경우는 바텀내비게이션에 특정 탭을 누르면 이벤트를 발생시키는 로직을 구현하였다.
그래서 이벤트 명을 click_therapist_home_healclass_navigation으로 설정을 하였고 전달해 주는 매개 변수는 없었다.
# 오류 원인
바로 본론으로 오류의 원인으로 말하면 위에 이벤트명이 너무 길었던 게 오류의 원인이었다.
이 오류를 어떻게 알게 되었냐면 처음에는 코드에 문제가 있는지 코드를 수정해도 봤는데 아무리 해도 달라지지 않았다. 또 이벤트를 발생시키는 곳에서 로그를 찍어봤는데 잘 찍혀서 더욱더 미궁으로 빠졌다.
그래서 나는 Google 애널리틱스 이벤트 로깅에 관한 파이어베이스에 공식 문서를 찾아봤다.
읽다가 나의 눈에 꽂힌 한 부분이 있었다.

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
이 부분이였는데 보면 위 명령어는 이벤트 전송 여부를 즉시 확인할 수 있도록 이벤트를 Android 스튜디오 logcat에 표시한다고 적혀있다.
나는 바로 터미널에 명령어를 입력해서 logcat에서 log를 한번 살펴보았다.
그랬더니 아래와 같은 로그가 발생했다.

Name is too long. Type, maxinum supported length, name: event, 40, click_therapist_healclass_navigation
사진이 잘 안 보이면 위 text가 적혀있는 로그가 나왔다.
# 해결 방법
이벤트명을 40자 이하로 줄여준다.
나의 경우 "click_therapist_healclass_navigation" -> "click_therapist_healclass_nav"로 줄여서 해결을 하였다.
역시 공식문서는 항상 옳다는 생각을 한다. 킹식문서!
그래서 앞으로도 이슈가 생겼을 때 일단 공식문서부터 들여다봐야겠다.

참고
https://firebase.google.com/docs/analytics/get-started?hl=ko&platform=android