이벤트 리스너 추가
1. 광고 이벤트 리스너 추가
gladsdk.addEventListener()를 사용하여 광고 슬롯 렌더링 과정에서 발생하는 이벤트에 대해 광고 이벤트 리스너를 추가할 수 있습니다.
2. 광고 이벤트 종류
이벤트 | 이벤트 타입명 | 설명 |
---|---|---|
광고 로드 | gladsdk.event.AD_LOADED | 광고 슬롯에 광고 로드 시 발생 |
광고 렌더 | gladsdk.event.AD_RENDERED | 광고 슬롯에 광고 렌더 시 발생 |
광고 클릭 | gladsdk.event.AD_CLICKED | 광고 슬롯에 랜더링된 소재 클릭 시 발생 |
광고 노출 | gladsdk.event.AD_IMPRESSED | 광고 슬롯에 랜더링된 소재 노출 기준 만족 시 발생 |
광고 에러 | gladsdk.event.ERROR | 광고 로드 실패 혹은 실행 에러 시 발생 |
빈 광고 | gladsdk.event.EMPTY | 노출할 광고가 없는 경우 발생 |
광고 뮤트 발생 | gladsdk.event.AD_MUTE_COMPLETED | 광고 뮤트 사유 클릭 시 발생 |
광고 뮤트 상태 변경 | gladsdk.event.AD_MUTE_STATE_CHANGED | 광고 뮤트 상태 변경 시 발생 |
광고 소재 메타 변경 | gladsdk.event.CREATIVE_META_CHANGED | 광고 소재 메타 정보 변경 시 발생 |
warning
AD_RENDERED 이벤트는 광고 SDK가 광고 소재를 DOM 삽입 시에 발화가 됩니다.
다만, 광고 소재에 따라서 RENDERED 이벤트 시점에 광고 사이즈가 정확하지 않을 수 있습니다.
위험
광고 에러 이벤트가 발생했을 때 광고 슬롯이 삭제되지 않아야 합니다.
SDK는 렌더링에 실패한 광고에 대해 서도 유효노출을 체크하기 때문에 adSlotElement.remove()
등의 호출로 광고 영역이 삭제되지 않아야 하고 display: none
이 적용되지 않아야 합니다.
2-1. 광고 이벤트로 전달되는 광고 정보 조회
광고 이벤트 리스너 설정을 통해 전달되는 광고 부가 정보(slot, size, adContext, slotIndex, muteState, creativeMeta) 및 에러 정보(error) 조회가 가능합니다.
광고 슬롯 정보
- 광고 이벤트와 연관된 광고 슬롯 인스턴스
ad.slot
으로 조회 가능합니다.
광고 슬롯 사이즈 정보
- 광고 요청 시 서버 응답으로 받은 광고 슬롯의 사이즈
- 광고 제공자 서버측에서 전달하는 설정된 사이즈값이 전달되어 해당 광고 슬롯에 최종적으로 랜더링된 사이즈 정보와 다를 수 있습니다.
ad.size
으로 조회 가능하고 네이티브 광고의 경우undefined
일 수 있습니다.
광고 메타(adContext) 정보
- 광고 요청 시 서버 응답으로 받은 선출된 해당 광고와 관련된 광고 메타 정보
ad.adContext
로 조회 가능하고 JSON 문자열 형태로 전달된다. 서버 응답값이 없을 경우undefined
로 조회됩니다.
슬롯 인덱스(slotIndex) 정보
- 광고 소재 캐로셀 내부 요소(slot)의 순번 정보
AD_CLICKED
이벤트 수신 시ad.slotIndex
로 조회 가능. 조회 조건에 부합하지 않는 경우undefined
로 조회됩니다.- 위의 adContext 응답값이 존재하고 선출된 광고의 소재 유형이 캐로셀 형태(배너, 네이티브 유형 모두 포함)인 경우 해당 소재의 캐로셀 하위 요소를 클릭한 경우에만 slotIndex 값이 전달됩니다.
- 캐로셀 하위 요소가 아닌 캐로셀 외부 영역을 클릭한 경우에는 slotIndex 값이
undefined
로 조회됩니다. - 내부적으로 캐로셀 하위 요소를 식별할 수 없는 경우에도 slotIndex 값이
undefined
로 조회됩니다.
- slotIndex는 첫번째 요소가 0부터 시작하는 number 값으로 설정되어 전달됩니다.