Skip to content

[#453] Firebase Analytics를 적용한다#498

Merged
opficdev merged 9 commits into
developfrom
fix/#453-Analytics
May 28, 2026
Merged

[#453] Firebase Analytics를 적용한다#498
opficdev merged 9 commits into
developfrom
fix/#453-Analytics

Conversation

@opficdev
Copy link
Copy Markdown
Owner

🔗 연관된 이슈

🎯 의도

  • DevLog에 Firebase Analytics 최소 계측 구조 도입
  • 수동 screen_view 기준의 화면 분석 체계 정리
  • 핵심 행동 중심의 이벤트 추적 연결

📝 작업 내용

📌 요약

  • FirebaseAnalyticsCore 의존성 추가
  • Domain -> Data -> Infra 흐름의 Analytics 계층 구성
  • screen_view, todo_create, todo_complete, webpage_create, push_open 추적 연결
  • 자동 screen reporting 비활성화 적용

🔍 상세

  • TrackAnalyticsEventUseCase 기반의 Analytics 호출 경로 추가
  • FirebaseAnalyticsServiceImpl 추가 및 Firebase 이벤트 매핑 구성
  • RootViewModel, MainViewModel에서 login, home, today, profile 화면 노출 추적 연결
  • HomeViewModel, TodoListViewModel에서 Todo 생성 추적 연결
  • TodoListViewModel, TodayViewModel에서 Todo 완료 추적 연결
  • HomeViewModel에서 웹페이지 저장 성공 시 webpage_create 추적 연결
  • PushNotificationOpenHandler 추가를 통한 푸시 오픈 추적 및 라우팅 분리
  • Info.plistFirebaseAutomaticScreenReportingEnabled = NO 추가로 자동 화면 추적 비활성화 적용
  • DeleteWebPageTests 보정 및 DevLog.xcworkspace / DevLog 스킴 빌드 검증 완료

📸 영상 / 이미지 (Optional)

image

@opficdev opficdev self-assigned this May 28, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

이번 풀 리퀘스트는 앱 내 분석(Analytics) 이벤트를 추적하기 위한 TrackAnalyticsEventUseCase 및 관련 인프라(Firebase Analytics)를 도입하고, 각 뷰모델에서 화면 진입, 할 일 생성/완료, 웹페이지 추가, 푸시 알림 오픈 등의 이벤트를 로깅하도록 구현하였습니다. 코드 리뷰 결과, 할 일 수정 시에도 생성 이벤트가 발생하는 로직 오류, 비옵셔널 타입에 대한 불필요한 옵셔널 바인딩으로 인한 컴파일 에러 가능성, 그리고 UI 라우팅을 처리하는 핸들러의 메인 스레드 안전성 보장(@mainactor 추가)에 대한 개선 사항이 제안되었습니다.

Comment thread Application/DevLogPresentation/Sources/Home/TodoListViewModel.swift
Comment thread Application/DevLogPresentation/Sources/Main/MainView.swift
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown

❌ iOS CI build failed.

Compiler error lines:

/Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogApp/Sources/App/Assembler/AppLayerAssembler.swift:35:13: error: call to main actor-isolated initializer 'init(trackAnalyticsEventUseCase:)' in a synchronous nonisolated context

Code excerpts:

File: /Users/runner/work/SwiftUI_DevLog/SwiftUI_DevLog/Application/DevLogApp/Sources/App/Assembler/AppLayerAssembler.swift:35
  33|         }
  34|         container.register(PushNotificationOpenHandler.self) {
  35|             PushNotificationOpenHandler(
  36|                 trackAnalyticsEventUseCase: container.resolve(TrackAnalyticsEventUseCase.self)
  37|             )

@opficdev opficdev merged commit 2a483d1 into develop May 28, 2026
1 check passed
@opficdev opficdev deleted the fix/#453-Analytics branch May 28, 2026 02:35
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.

Firebase Analytics를 적용한다

1 participant