기본 사용법
사용자가 앱에서 뭘 하는지 추적하면 대시보드에서 통계를 볼 수 있습니다. 어떤 기능을 많이 쓰는지, 어떤 광고를 많이 클릭하는지 등을 파악할 수 있습니다.
기본 사용법
이벤트를 보내는 건 간단합니다:
Android:
AdchainSdk.trackEvent(
eventName = "button_click",
payload = mapOf(
"button_name" to "start_button",
"screen" to "home"
)
)iOS:
AdchainSdk.shared.trackEvent(
"button_click",
payload: [
"button_name": "start_button",
"screen": "home"
]
)React Native:
이벤트 이름(eventName)은 필수이고, 추가 정보(payload)는 선택입니다.
이벤트 네이밍
이벤트 이름은 명확하게 작성하는 것이 좋습니다:
button_click- 버튼 클릭screen_view- 화면 조회offerwall_open- 오퍼월 열림purchase- 구매level_up- 레벨업
일반적으로 snake_case(소문자+언더스코어)를 많이 사용합니다.
Payload에 뭘 넣을까요?
이벤트와 관련된 추가 정보를 넣으면 됩니다:
값은 문자열, 숫자, 불린 다 됩니다.
자동으로 보내지는 이벤트
SDK가 자동으로 보내는 이벤트들이 있습니다:
session_start- 앱 시작user_login- 사용자 로그인offerwall_open- 오퍼월 열림offerwall_close- 오퍼월 닫힘ad_click- 광고 클릭
이런 건 따로 보낼 필요 없습니다.
이벤트는 언제 전송되나요?
이벤트는 즉시 전송되지 않고, 배치로 모아서 보냅니다:
기본 설정: 10개 모이거나 30초마다
DAU 이벤트:
session_start,user_login은 즉시 전송
이렇게 하는 이유는 네트워크 요청을 최적화하기 위해서입니다.
즉시 전송하기
급하게 보내야 한다면:
하지만 매번 즉시 전송하면 비효율적입니다.
오프라인에서는?
인터넷이 안 될 때 이벤트를 보내면, SDK가 로컬에 저장해뒀다가 나중에 인터넷이 되면 자동으로 전송합니다.
Android: Room Database에 저장
iOS: 로컬 파일에 저장
최대 1000개까지 저장하고, 그 이상은 오래된 것부터 삭제됩니다.
권장 이벤트
일반적으로 많이 쓰는 이벤트들입니다. 참고하세요:
화면 조회
구매
검색
공유
튜토리얼
주의사항
개인정보 넣지 마세요
이벤트에 개인정보를 넣으면 안 됩니다:
너무 많이 보내지 마세요
이벤트를 너무 자주 보내면:
네트워크 비용 증가
서버 부하가 올라감
예를 들어 스크롤할 때마다 이벤트를 보내는 건 과하고, 중요한 액션(버튼 클릭, 구매 등)만 보내는 게 좋습니다.
Payload 크기
Payload가 너무 크면 안 됩니다. 1KB 이내로 유지하세요. 긴 텍스트나 큰 데이터는 요약해서 보내거나, 서버에 따로 저장하고 ID만 보내세요.
다음 단계
Last updated