IMA 광고
TV SDK에서 Google IMA(Interactive Media Ads) 광고를 연동하는 방법을 안내합니다.
TV SDK는 IMA 광고만 지원합니다. NAM 광고(
namAds)는 TV에서 미지원됩니다.네이티브 빌드 설정 (필수)
IMA 광고를 사용하려면 네이티브 빌드 플래그를 활성화해야 합니다.
tvOS - ios/Podfile
$RNVideoUseGoogleIMA = true설정 후 pod install을 실행합니다.
Android TV - android/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 SDK가 자체 UI 렌더링
- 광고 완료/스킵/에러 후 콘텐츠 자동 재생
광고 이벤트
| 이벤트 | 설명 |
|---|---|
adStart / adStarted | 광고 시작 |
adComplete | 광고 완료 |
adSkip / adSkipped | 광고 스킵 |
adError | 광고 에러 |
adLoaded | 광고 로드 완료 |
adBreakStart / adBreakEnd | 광고 브레이크 시작/종료 |