Skip to content

Analytics Events

SeHyun edited this page Sep 30, 2026 · 8 revisions

이벤트 사전

앱이 PostHog로 보내는 이벤트 23개다. 영역별로 나눴다.

  • 정본은 저장소 코드다. 여기와 다르면 코드가 맞다.
  • 값은 모두 문자열 또는 참/거짓이다. 숫자 값은 없다.

가입 · 로그인

이벤트 언제 함께 오는 값
entry_screen_viewed 가입 과정의 화면이 열릴 때 screen — onboarding · login · verification-code · language-select · journey-entry
entry_login_method_selected 로그인 수단을 누를 때 method — phone · google · apple · facebook
entry_completed 「여정 시작하기」를 누를 때 없음

스페셜 유닛 — 메신저

이벤트 언제 함께 오는 값
messenger_unit_opened 메신저를 열 때 unitId, entrySource, (여정에서 열면) entryStatus
messenger_unit_completed 끝까지 했을 때 unitId, entrySource
messenger_unit_exited_incomplete 끝내기 전에 나갈 때 unitId, entrySource

스페셜 유닛 — 비주얼 노벨

이벤트 언제 함께 오는 값
visual_novel_unit_opened 비주얼 노벨을 열 때 unitId, entrySource, (여정에서 열면) entryStatus · entryBeatId
visual_novel_unit_completed 마지막 장면을 끝냈을 때 unitId, entrySource
visual_novel_unit_exited_incomplete 끝내기 전에 나갈 때 unitId, beatId(나간 장면), entrySource
visual_novel_unit_replay_started 끝낸 유닛을 다시 볼 때 unitId, entrySource

스페셜 유닛 — 전화

이벤트 언제 함께 오는 값
phone_call_unit_opened 전화를 열 때 unitId, entrySource, (여정에서 열면) entryStatus

전화는 완료 · 이탈 이벤트가 없다.

알림

이벤트 언제 함께 오는 값
notifications_opened 알림 버튼을 누를 때 없음
notification_item_tapped 알림 항목을 누를 때 notificationId, target
notification_item_deleted 알림 항목을 지울 때 notificationId, target
push_notification_opened 휴대폰 알림(서버 푸시)을 눌러 앱이 그 화면으로 갈 때 — 목적지를 못 읽으면 내지 않는다 (PR #171) target(journey-map · notifications · roleplay-list · messenger · phone-call · visual-novel)

설정

이벤트 언제 함께 오는 값
settings_opened 설정 탭으로 옮길 때(같은 탭을 다시 누르면 없음) 없음
profile_opened 「사용자 프로필」을 누를 때 없음
notification_settings_opened 설정의 「Notifications」를 누를 때 (PR #171) 없음
legal_document_opened 로그인의 동의 문구 링크나 설정의 Privacy Policy · Terms of Use를 누를 때 document(privacy-policy · terms-of-use) · source(login · settings)
session_option_changed 설정 스위치를 누를 때 option — auto-play-audio · show-transcript, value — 바뀐 뒤 값

서사 표지 · 서사

이벤트 언제 함께 오는 값
episode_intro_viewed 여정 맵의 표지 항목을 눌러 표지가 설 때 episodeId
episode_intro_skipped 확인 모달에서 「건너뛰기」를 고를 때 episodeId
episode_intro_continued Next를 누를 때 episodeId, hasPrologue(서사가 있나)
episode_intro_exited 표지나 서사에서 뒤로 나갈 때 episodeId, stage — intro · prologue
episode_prologue_completed 서사를 끝까지 보고 하단 버튼을 누를 때 episodeId, prologueKind — call · messenger · visual-novel
  • Skip을 누른 것만으로는 아무것도 오지 않는다. 모달에서 「계속 보기」를 고른 횟수는 재지 않는다.
  • 표지는 에피소드의 첫 유닛이다. 끝내야 그 에피소드의 나머지가 열린다(#153).
  • 끝낸 표지는 저장되지 않아 앱을 켤 때마다 다시 지난다. 끝낸 표지를 맵에서 다시 열어도 episode_intro_viewed가 온다.

값 풀이

값 뜻
entrySource 어디서 열었나 — journey(여정 맵 · 알림) · roleplay(롤플레이 탭)
entryStatus 열 때 그 유닛의 상태 — available · completed
target 알림이 데려가는 곳 — messenger · phone-call · visual-novel · roleplay-list

모든 이벤트에 붙는 값

값 뜻
distinct_id 로그인한 뒤에는 사용자 ID(앱을 다시 켜도 같다). 로그인 전에는 그 실행의 익명 ID(켤 때마다 바뀐다)
$session_id 세션 ID. 30분 쉬거나 앱을 다시 켜면 바뀐다
$lib 늘 libitums-lynx — 이 앱에서 왔다는 표시
$lib_version 분석 라이브러리 버전
environment 어디서 났나 — production(배포된 앱) · development(개발 · 시뮬레이터). 분석은 production만 본다
$geoip_country_code · $geoip_country_name 나라 — PostHog가 IP로 추정한다(IP는 저장하지 않음). 2026-09-30부터
$geoip_subdivision_1_code · _name 주 · 지방
$geoip_continent_code · _name 대륙
$geoip_time_zone 시간대

도시 · 좌표 · 기기 모델 · OS 버전은 없다.

앱이 아니라 PostHog가 만드는 이벤트

이벤트 언제
$identify 로그인(소셜 · 전화번호)이 성공할 때, 로그인된 채 앱을 켜 세션 갱신이 성공할 때 — 한 번씩

같은 실행에서 로그인 전에 난 이벤트(온보딩 · 로그인 화면)는 이 이벤트가 그 사용자에게 잇는다.

Clone this wiki locally