Classic/VPC 환경에서 이용 가능합니다.
TV SDK에서 Google IMA(Interactive Media Ads) 광고를 연동하는 방법을 안내합니다.
네이티브 빌드 설정 (필수)
IMA 광고를 사용하려면 네이티브 빌드 플래그를 활성화해야 합니다.
tvOS(ios/Podfile)
tvOS는 Podfile에 다음 플래그를 추가합니다.
$RNVideoUseGoogleIMA = true
설정 후 pod install을 실행해 주십시오.
Android TV(android/gradle.properties)
Android TV는 gradle.properties에 다음 플래그를 추가합니다.
RNVideo_useExoplayerIMA=true
주의
플래그 변경 후에는 앱을 반드시 리빌드해야 합니다. Metro 핫 리로드로는 반영되지 않습니다.
광고 설정
options.ads 속성으로 VAST/VMAP 광고 태그를 설정합니다.
<VpePlayer
accessKey="YOUR_ACCESS_KEY"
options={{
playlist: [{
file: 'https://example.com/video.m3u8',
poster: 'https://example.com/poster.jpg',
}],
autostart: true,
ads: {
tagUrl: 'https://pubads.g.doubleclick.net/gampad/ads?...',
enabled: true, // 기본: true, false로 비활성화
},
}}
onEvent={(event) => {
switch (event.type) {
case 'adStart':
console.log('광고 시작');
break;
case 'adComplete':
console.log('광고 완료');
break;
case 'adSkip':
console.log('광고 스킵');
break;
case 'adError':
console.log('광고 에러', event.data);
break;
}
}}
onBack={() => navigation.goBack()}
/>
광고 동작
IMA 광고의 동작 방식은 다음과 같습니다.
- 광고 재생 중 컨트롤 바 자동 숨김 및 리모컨 입력 무시
- 네이티브 IMA SDK가 자체 UI 렌더링
- 광고 완료/스킵/에러 후 콘텐츠 자동 재생
광고 이벤트
수신할 수 있는 광고 이벤트는 다음과 같습니다.
| 이벤트 | 설명 |
|---|---|
adStart / adStarted |
광고 시작 |
adComplete |
광고 완료 |
adSkip / adSkipped |
광고 스킵 |
adError |
광고 에러 |
adLoaded |
광고 로드 완료 |
adBreakStart / adBreakEnd |
광고 브레이크 시작/종료 |