Skip to content

[FEAT] Mixpanel 이벤트 트래킹 도입 - #52

Open
cchanmi wants to merge 31 commits into
developfrom
feature/mixpanel-analytics
Open

cchanmi wants to merge 31 commits into
developfrom
feature/mixpanel-analytics

Conversation

@cchanmi

@cchanmi cchanmi commented Nov 7, 2026

Copy link
Copy Markdown
Collaborator

Describe

Mixpanel 이벤트 트래킹 인프라를 추가하고, 로그인 → 온보딩 → 홈 → 대화 → 카드 생성 → 보관함/파쇄까지 전체 플로우의 주요 화면/액션 이벤트를 연결합니다.

Works made

  1. mixpanel-swift SPM 패키지 추가
  2. Domain에 AnalyticsTracking 프로토콜 + AnalyticsEvent/AnalyticsScreen enum, Data에 DefaultAnalyticsTracker(Mixpanel SDK 래핑) 추가
  3. 화면 진입마다 screen_view를 기록하는 .trackScreen ViewModifier 추가 및 전체 화면 부착
  4. 로그인/온보딩/홈/대화방/대화목록/보관함/파쇄 전체 플로우에 액션 이벤트(성공/실패 포함)
  5. Mixpanel 프로젝트가 dev/운영으로 나뉘어 있지 않아, 모든 이벤트에 environment(development/production) super property를 붙여 대시보드에서 구분
  6. 각 ViewModel에 분석 이벤트 유닛 테스트 추가, 속성에 대화·카드 id/닉네임 등이 섞이지 않는지 검증하는 테스트 포함

Changes Made

UI 변경 없음 — 기존 화면/동작 흐름은 그대로 두고 이벤트 트래킹만 추가했습니다.

How to Test

  1. GAMSS/Config/Debug.xcconfig, Release.xcconfig에 실제 Mixpanel 토큰 설정 (로컬 전용 파일, git에 안 올라감 — 각자 설정 필요)
  2. 앱 실행 후 화면 이동/버튼 탭
  3. Mixpanel 대시보드 Live View에서 이벤트 확인

Issues Resolved

  • 없음

Additional context

  • 실제 Mixpanel 토큰 값은 각자 로컬 xcconfig에 설정해야 합니다 (민감정보라 커밋되지 않음)
  • card_set_aside/card_reopen(카드 치워두기/다시 열기), 보관함 공유(카카오/인스타) 이벤트는 해당 기능 자체가 코드에 없어 이번 범위에서 제외했습니다
  • onboarding_next가 마지막 "시작하기" 탭에서도 한 번 더 찍히는데, 확인이 필요합니다.

…elAnalyticsTests 파일 Xcode 프로젝트 등록
isShredEnabled로 advance()의 마지막 호출과 shred() 호출을 구분하려 했으나
두 시점 모두 step >= requiredSteps가 true라 구분이 안 되는 문제였음. 각
호출부가 자기 탭 번호를 직접 넘기도록 수정.
ASAuthorizationAppleIDCredential은 테스트에서 직접 만들 수 없어 login_fail
트래킹 경로(LoginViewModel.login의 catch 블록)를 실제로 검증할 수 없었음.
init이 크래시하지 않는지만 보는 테스트라 커버리지로 오인될 위험이 있어 삭제.
Mixpanel 프로젝트가 gamss-dev/GAMSS로 나뉘어 있지 않고 하나뿐이라, 토큰으로
환경을 나눌 수 없음. 대신 모든 이벤트에 자동으로 붙는 super property로
environment(development/production)를 기록해 대시보드에서 필터링한다.
@dlrjswns

Copy link
Copy Markdown
Contributor

@cchanmi 혹시 이거 debug, release xcconfig파일에 따로 추가해야할 항목들은 어디를 확인하면 될까요 ?

@dlrjswns
dlrjswns self-requested a review November 12, 2026 00:42

@dlrjswns dlrjswns left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cchanmi 혹시 How to test 3번 부분에서 믹스패널 LiveView를 어떻게 실행시켜서 확인하면 될까요 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants