Repository navigation
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 버전은 없다.
| 이벤트 | 언제 |
|---|---|
$identify |
로그인(소셜 · 전화번호)이 성공할 때, 로그인된 채 앱을 켜 세션 갱신이 성공할 때 — 한 번씩 |
같은 실행에서 로그인 전에 난 이벤트(온보딩 · 로그인 화면)는 이 이벤트가 그 사용자에게 잇는다.