Skip to content

[Feature] Firebase Analytics 이벤트 수집 구조 도입 및 핵심 행동 로깅 적용#30

Merged
hwoo7449 merged 19 commits intomainfrom
feature/BOB-55-firebase-analytics
Mar 1, 2026
Merged

[Feature] Firebase Analytics 이벤트 수집 구조 도입 및 핵심 행동 로깅 적용#30
hwoo7449 merged 19 commits intomainfrom
feature/BOB-55-firebase-analytics

Conversation

@hwoo7449
Copy link
Collaborator

@hwoo7449 hwoo7449 commented Mar 1, 2026

📌 관련 이슈

Closes #29
Closes BOB-55
Closes BOB-58
Closes BOB-59
Closes BOB-57

✨ 작업 내용

  • Firebase Analytics 수집 구조를 앱 전반에 도입했습니다.
  • FirebaseAnalyticsObserver를 연동해 라우트 기반 screen_view 자동 수집 체계를 적용했습니다.
  • AnalyticsService를 추가/정비하고 공용 파라미터(env)를 포함한 이벤트 로깅 규칙을 정리했습니다.
  • 홈/학교선택/온보딩/설정 등 주요 흐름에서 핵심 사용자 행동 이벤트를 추가했습니다.
  • 홈 화면 로깅 책임을 헬퍼(home_analytics_helper, home_widget_sync_helper)로 분리해 유지보수성을 개선했습니다.
  • meal_api_request, view_meal, widget_syncdata_source, trigger_source, request_type(retry 포함) 등 분석용 파라미터를 확장했습니다.
  • background(workmanager) 경로에서도 widget_sync 이벤트를 기록하도록 보강했습니다.
  • 이벤트 스키마 문서(docs/analytics/event_schema.md)를 작성/업데이트했습니다.

🔎 변경 사항

  • UI 변경 여부: 없음 (화면 구성 변경 없이 로깅/구조 개선 중심)
  • API 변경 여부: 없음 (서버 API 스펙 변경 없음)
  • 의존성 변경 여부: 없음 (pubspec 변경 없음)

✅ 체크리스트

  • PR 제목 규칙 준수 ([태그] 제목)
  • 빌드 테스트 완료
  • 리뷰 반영 완료

hwoo7449 added 19 commits March 1, 2026 22:18
- HomeScreen에 meal_api_request, view_meal, date_change, meal_retry_tap 로깅을 추가했습니다.
- empty/error 상태 이벤트는 날짜 기준 중복 발화를 방지하도록 가드 로직을 적용했습니다.
- MealRepository에 데이터 출처 반환 모델을 추가하고 HomeScreen 로깅에 data_source를 반영했습니다.
- meal_api_request, view_meal, widget_sync에 trigger_source를 추가하고 background workmanager 경로에서도 widget_sync 이벤트를 기록합니다.
@hwoo7449 hwoo7449 merged commit a20fc6a into main Mar 1, 2026
1 check passed
@hwoo7449 hwoo7449 deleted the feature/BOB-55-firebase-analytics branch March 1, 2026 16:26
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.

[Feature] Firebase Analytics 구조 설계 및 도입

1 participant