커스텀 로그 인터페이스
HTML → JS
tossAds MRAID sdk에서 윈도우 전역 객체에 tossAds 객체를 주입해요.
윈도우 전역객체의 tossAds 객체 활용하여 커스텀 로깅을 진행해주세요.
window.tossAds.sendCustomLog(name: string, params: Record<string, unknown>);
TypeScript
복사
tossAds 객체는 SDK에 의해 런타임에 주입됩니다. 로컬 개발 환경이나 SDK 주입 타이밍에 따라 객체가 존재하지 않을 수 있으며, 이 경우 런타임 에러가 발생할 수 있습니다.
아래와 같이 optional chaining을 사용하여 안전하게 호출해 주세요.
// ✅ 권장: optional chaining 사용
window.tossAds?.sendCustomLog('interaction', {
type: 'step',
interaction_type: 'click',
button_name: '플레이하러 가기',
});
// ❌ 비권장: 가드 없이 직접 호출
tossAds.sendCustomLog('interaction', { ... });
TypeScript
복사
커스텀 로그 정의
로그명 (name)
name : "interaction"| "game_end" | "cta_imp" | "progress" | "redirection"
JavaScript
복사
로그명 | 설명 | 하위 파라미터 |
interaction | 클릭, 드래그 등의 유저 인터랙션 이벤트 | type , interaction_type , button_name (click일때) |
game_end | 광고가 종료되는 것이 아니라 게임만 종료되는 이벤트 | type , result |
cta_imp | 광고 버튼 노출 이벤트 (스토어/광고 랜딩페이지로 redirect되는 cta) | type , button_name |
progress | 게임 진행도를 찍는 이벤트, 유저의 인터랙션과 무관하게 발생 가능 | type , progress , level |
redirection | 광고주 페이지 (또는 앱스토어)으로 리다이렉션 되는 이벤트 | type , trigger_type |
로그 파라미터 (params)
각 파라미터는 로그명(name)에 맞추어 활용해요.
파라미터 | 설명 | 비고 |
type | 플레이어블 애즈의 게임 유형을 수집 | step: 단계별 진행 구조형 게임 / score: 점수 기반 머지 퍼즐 게임 |
interaction_type | ’click’, ‘drag’ 등 | |
button_name | 클릭 또는 노출된 버튼명 | |
progress_percent | 게임 진행도 % | 숫자(n)
a. 게임 종료(승리) 조건이 점수일 때: 종료 조건이 되는 max점수 대비 10*n% 구간마다 로깅
b. 게임 종료 조건이 점수와 무관, 시간일 때: 종료 조건 max시간 대비 10*n% 구간마다 로깅 |
progress | progress로그에서 로깅되는 누적 점수 | 숫자(n) / type이 score인 경우 |
level | progress로그에서 로깅되는 누적 단계 | 숫자(n) / type이 step인 경우 |
result | 게임 결과 (’fail’,’success’ 등) | |
trigger_type | redirection 을 발생시킨 버튼/이벤트명 | (‘end_card’ 등) |
커스텀 로그 예시
interaction
tossAds.sendCustomLog('interaction', {
type: 'step',
interaction_type: 'click',
button_name: '플레이하러 가기'
});
TypeScript
복사
game_end
tossAds.sendCustomLog('game_end', {
type: 'step',
result: 'fail'
});
TypeScript
복사
cta_imp
tossAds.sendCustomLog('cta_imp', {
type: 'step',
button_name: '플레이하러 가기'
});
TypeScript
복사
progress
tossAds.sendCustomLog('progress', {
type: 'step',
level: 2, // type이 step인 경우
progress_percent: 50,
});
TypeScript
복사
redirection
tossAds.sendCustomLog('redirection', {
type: 'step',
trigger_type : 'end_card'
});
TypeScript
복사
관련 문서
•