Skip to content

[FEAT/#1645] 앰플리튜드 개편 - 3 - #1648

Merged
seungjunGong merged 8 commits into
developfrom
feat/#1645-amplitude-3
Aug 2, 2026
Merged

[FEAT/#1645] 앰플리튜드 개편 - 3#1648
seungjunGong merged 8 commits into
developfrom
feat/#1645-amplitude-3

Conversation

@seungjunGong

@seungjunGong seungjunGong commented Aug 1, 2026

Copy link
Copy Markdown
Member

Related issue 🛠

Work Description ✏️

  • 알림 도메인의 Amplitude 이벤트를 정의하고, 알림 목록/상세/푸시 수신/푸시 클릭 이벤트 로깅을 추가
  • 푸시 클릭 시 notification_id, notification_link_type, notification_launch_type 프로퍼티가 함께 전송되도록 구현.
  • Poke 도메인의 Amplitude 이벤트를 정의하고, 온보딩/메인/친구 목록/알림 상세/메시지 전송 관련 이벤트 로깅을 정리
  • UserStatus를 Amplitude view_type 값으로 변환하는 로직을 공통화

Screenshot 📸

N/A

Uncompleted Tasks 😅

  • N/A

To Reviewers 📢

앰플리튜드 개편 마무리 작업입니다.

아래 부분 위주로 확인 부탁드립니다.

  • view_type, notification_link_type, poke_click_source 값이 의도한 케이스에 맞게 전달되는지
  • 푸시 클릭 시 cold start/warm start 구분이 적절한지

- `UserStatus`를 Amplitude `view_type` 문자열로 변환하는 확장 함수에 KDoc 추가
- `String?` 타입을 `view_type`으로 변환하는 확장 함수 추가 (기본값 `visitor`)
- Update `tracker.trackViewType` calls to use `userStatus.toViewType()` instead of `userStatus.value`.
- `PokeAnalytics`를 추가하여 이벤트 명세(View/Click), 프로퍼티 키, 클릭 소스 등을 정의하고 관리하도록 개선함.
- `Tracker.trackViewType` 확장 함수를 사용하여 기존의 하드코딩된 트래킹 로직을 리팩토링함.
- `MessageListBottomSheetFragment`에 분석용 `viewType` 전달 및 익명 체크박스 클릭, 메시지 전송 클릭 이벤트 트래킹을 추가함.
- `MessageItemClickListener`에서 메시지 객체 전체를 전달하도록 변경하여 `messageId` 로깅이 가능하도록 수정함.
- `FriendListDetail`, `PokeNotification`, `PokeMain` 등 주요 화면에서의 클릭 소스(onboarding, main_alarm, friend_summary 등) 구분을 구체화함.
- Remove `mission.isCompleted` check before calling `onMissionItemClickTricked()` in `MissionComponent`.
- `NotificationAnalyticsEvent`, `NotificationLinkType` 등 알림 관련 분석 이벤트 및 프로퍼티 정의
- `EventType`에 `RECEIVED` 타입 추가
- 알림 수신(`RECEIVED_PUSH`), 푸시 클릭(`CLICK_PUSH`), 목록 진입, 전체 읽기, 상세 링크 클릭 등 주요 액션 트래킹 로직 구현
- 트래킹 시 `viewType` 식별을 위해 알림 관련 Activity 및 네비게이터에 `UserStatus` 전달 로직 추가
- `SchemeActivity`에서 앱 실행 상태(Cold/Warm start)에 따른 트래킹 처리 추가
- `SoptFirebaseMessagingService` 및 `SchemeActivity` 내 분석 이벤트 전송 시 `suspendRunCatching`을 적용하여 예외 처리 추가
- `SchemeActivity.Argument`에서 `isPush` 필드를 제거하고, `Intent`의 별도 Extra로 전달하도록 변경
- 사용자 상태 조회 실패 시 기본값(`UNAUTHENTICATED`)을 사용하도록 보완
@seungjunGong seungjunGong added this to the 38th Android milestone Aug 1, 2026
@seungjunGong seungjunGong self-assigned this Aug 1, 2026
@seungjunGong
seungjunGong requested a review from a team as a code owner August 1, 2026 14:59
@seungjunGong
seungjunGong enabled auto-merge (squash) August 2, 2026 03:43

@vvan2 vvan2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

고생했습니다! 어푸푸!

@seungjunGong
seungjunGong merged commit 865a0e5 into develop Aug 2, 2026
1 check passed
@seungjunGong
seungjunGong deleted the feat/#1645-amplitude-3 branch August 2, 2026 04:06
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.

[FEAT] 앰플리튜드 개편 - 3

2 participants