이벤트 트래킹 가이드

자동 수집

클랙 앱이 미니앱 진입/이탈(app_enter/app_exit, 체류 시간 포함)을 자동 수집합니다. 별도 코드 없이 포털 [통계] 탭에 반영됩니다.

커스텀 이벤트 — SDK track()

clack.track('stage_clear', { stage: 3 });
  • scope mini-app:events(기본 부여) 필요
  • SDK가 내부 배치(2초 디바운스, 10개 도달 시 즉시) 후 전송하고, 페이지 이탈 시 keepalive로 자동 flush합니다.
  • event_type은 1~100자, payload는 JSON 객체입니다.
  • 세션 ID는 SDK가 자동 생성해 같은 세션의 이벤트에 붙입니다.

HTTP API 직접 호출

POST {API}/v4/mini-apps/events
Authorization: Bearer {mat_토큰}
Content-Type: application/json

{ "events": [
  { "app_id": "my-app", "event_type": "stage_clear", "payload": {"stage":3}, "session_id": "..." }
] }
  • 배치 1~20개. 토큰의 app_id와 body의 app_id가 다르면 403 (MINI_APP_ID_MISMATCH)
  • API 오리진: prod https://v4-api.clack.kr / dev 채널 https://dev-v4-api.clack.kr
  • 로컬·실기기 테스트는 [개발] 탭의 개발자 토큰(30일 mat_)을 사용하세요.

service-events (자체 분석용)

POST /v4/mini-apps/service-events — 동일 스키마이며, 서버가 유저별 anonymous_user_key(앱별 HMAC 익명키)를 계산해 함께 저장합니다. 유저 단위 자체 분석이 필요하면 이 채널을 사용하세요.

미니앱에는 클랙 내부 user_id가 절대 제공되지 않습니다. SDK getUser().userKey는 service-events의 anonymous_user_key와 동일 모델의 앱별 익명키라 앱 간 유저 추적이 불가능합니다.