Repository navigation
[GMSS-358]Mixpanel 연동 및 화면 진입 이벤트 추가 - #77
Merged
Merged
Conversation
개발·QA 이벤트가 운영 지표에 섞이지 않도록 프로젝트 분리
화면 단위 이탈 지점 파악용
seunghee17
approved these changes
Nov 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
작업 개요
사용자가 앱 전체 흐름에서 어디서 이탈하는지 보기 위해 Mixpanel을 연동합니다. 이번 PR에서는 1단계로 SDK, 빌드별 토큰, 화면 진입 이벤트(
screen_view)를 추가합니다. 버튼 동작과 성공/실패 이벤트는 다음 PR에서 추가합니다.작업 유형
변경 사항
mixpanel-android8.11.1을 추가했습니다. SDK 의존성은 data 모듈에만 있고, 다른 모듈은 domain의AnalyticsTracker인터페이스만 씁니다.local.properties의DEV_MIXPANEL_TOKEN,PROD_MIXPANEL_TOKEN에서 읽습니다. debug와 internal 빌드의 이벤트는 dev 프로젝트에, release 빌드의 이벤트는 운영 프로젝트에 기록됩니다. QA 배포 기록이 운영 지표에 섞이지 않도록 internal만 dev 토큰으로 덮어썼습니다.local.properties로 씁니다. 시크릿은 등록을 마쳤습니다.GamssRootNavHostMainScreen의NavigationState.currentKeyScreenView.kt한 곳에 있습니다. 탭을 담는MainKey는 집계하지 않습니다.Map으로, 속성이 있는 화면은when으로 매핑합니다. 모두when에 두면 detektCyclomaticComplexMethod검사에서 실패합니다.trackAutomaticEvents)를 활성화했습니다.setUseIpAddressForGeolocation)을 비활성화했습니다. 국가나 도시별로 나눠 볼 계획이 없습니다.$ae_crashed) 수집을 비활성화했습니다. 이 이벤트에는 예외 메시지가 그대로 포함되며, 크래시는 Crashlytics에서 이미 수집하고 있습니다.집계 기준
screen_view이벤트를 한 건 기록합니다. 뒤로가기로 이전 화면에 돌아온 경우에도 기록합니다.screen_view가 한 건 더 기록됩니다. 발생 빈도가 낮고, 이를 막으려면 마지막으로 기록한 화면을 별도 상태로 관리해야 해서 허용했습니다.ScreenViewTest에서 이를 검증합니다.관련 이슈
관련 작업 (Notion)
스크린샷 / 동작 화면
UI 변경은 없습니다.
체크리스트
develop으로 설정되어 있다feat:,fix:등)을 따른다검증
:app:testDebugUnitTest(ScreenViewTest 7건 통과),:app:assembleDebug,:app:compileInternalKotlin성공screen_view8건과App Session이 들어온 것을 확인했습니다. 도시와 국가는(not set)이었습니다.리뷰 요청 사항
-dontwarn com.mixpanel.**뿐입니다.:app:generateBaselineProfile을 돌리면 생성 중에 실제 앱을 띄우므로, 운영 Mixpanel에 이벤트가 쌓일 수 있습니다(추정).