Skip to content

feat: Firebase Analytics 이벤트 계측 확장 (Phase 1/2/3)#295

Open
unam98 wants to merge 3 commits intodevelopfrom
feature/firebase-event-tracking
Open

feat: Firebase Analytics 이벤트 계측 확장 (Phase 1/2/3)#295
unam98 wants to merge 3 commits intodevelopfrom
feature/firebase-event-tracking

Conversation

@unam98
Copy link
Copy Markdown
Collaborator

@unam98 unam98 commented Apr 3, 2026

작업 배경

  • Android PR (#377)과 동일한 Firebase 이벤트를 iOS에도 적용
  • 크로스 플랫폼 동일 이벤트명으로 통합 퍼널 분석 기반 구축

변경 사항

구분 파일 수 내용
인프라 2 GAManager.swift custom 이벤트 타입 추가, GAEvent.swift Action/System/Param 구조체 + 신규 상수
Phase 1 (P0) 6 RunTrackingVC, CountDownVC, CourseDrawingVC, RunningRecordVC, CourseDetailVC, CourseStorageVC
Phase 2 (P1) 7 SignInSocialLoginVC, NickNameSetUpVC, CourseSearchVC, CourseUploadVC, CourseEditVC, ActivityRecordDetailVC, SceneDelegate
Phase 3 (P2) 2 GoalRewardInfoVC, NicknameEditorVC
합계 17파일 +268줄, -16줄

Android 대응 이벤트명 (동일)

  • action_run_start/complete/abandon — 러닝 블랙박스 해소
  • view_countdown, click_cancel_countdown — 러닝 직전 이탈 측정
  • view_course_complete_result — 코스 완성 후 분기 측정
  • click_run_from_detail — 코스 발견→러닝 전환 측정
  • action_login_success/fail — 로그인 전환율, 장애 감지

영향 범위

  • 기존 이벤트 로깅 코드 변경 없음 (신규 추가만)
  • GAManager에 .custom case 추가 (기존 .screen, .button, .share 호환 유지)
  • 런타임 영향: Firebase logEvent 호출 추가 (경량, 비동기)

Test Plan

  • 빌드 환경 세팅 후 빌드 성공 확인 (현재 빌드 파일 미전달)
  • Firebase DebugView에서 이벤트 발화 확인
  • Android와 동일 이벤트명인지 크로스 체크
  • BigQuery에서 platform별 퍼널 쿼리 검증

🤖 Generated with Claude Code

@unam98 unam98 force-pushed the feature/firebase-event-tracking branch from 7a663b4 to 328de87 Compare April 3, 2026 08:06
Android와 동일한 이벤트명으로 iOS 전 화면에 계측 코드 삽입.
GAManager에 custom 이벤트 타입 추가, GAEvent에 Action/System/Param 구조체 추가.

- Phase 1 (P0): 러닝 전구간, 카운트다운, 코스 그리기 완성 플로우
- Phase 2 (P1): 로그인 성공/실패, 온보딩, 검색, 업로드, 딥링크
- Phase 3 (P2): 리워드, 프로필 수정
@unam98 unam98 force-pushed the feature/firebase-event-tracking branch from 328de87 to c4ca8bc Compare April 3, 2026 08:07
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 3, 2026

Warning

Rate limit exceeded

@unam98 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 20 minutes and 58 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 20 minutes and 58 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: f6de8ffe-7e5c-48a2-85e2-1727f64ffb2f

📥 Commits

Reviewing files that changed from the base of the PR and between 44af9a0 and 50f9097.

📒 Files selected for processing (17)
  • Runnect-iOS/Runnect-iOS/Global/Analytics/GAEvent.swift
  • Runnect-iOS/Runnect-iOS/Global/Analytics/GAManager.swift
  • Runnect-iOS/Runnect-iOS/Global/Supports/SceneDelegate.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseDetailVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseDetail/VC/CourseEditVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseSearchVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseUploadVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/ActivityRecordDetailVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/InfoVC/GoalRewardInfoVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/NicknameEditorVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/Running/VC/CountDownVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunTrackingVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/Running/VC/RunningRecordVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/NickNameSetUpVC.swift
  • Runnect-iOS/Runnect-iOS/Presentation/SignIn/VC/SignInSocialLoginVC.swift
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/firebase-event-tracking

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@unam98 unam98 self-assigned this Apr 3, 2026
@unam98 unam98 requested a review from thingineeer April 3, 2026 08:15
unam98 added 2 commits April 3, 2026 17:30
- distance km→m 변환 (CourseDrawingVC, RunTrackingVC)
- isNewUser Bool→Int 변환 (Firebase 공식 지원 타입)
- errorCode를 안정적 상수 "LOGIN_FAIL"로 변경
- 수정 근거 인라인 코멘트 추가
- clickUserProfile을 screenName이 아닌 buttonName으로 정정
@unam98 unam98 force-pushed the feature/firebase-event-tracking branch from 2e9212a to 50f9097 Compare April 3, 2026 08:31
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.

1 participant