비디오 광고 공통 가이드
NAMSDK Import
SDK 모듈을 import 합니다.
- Objective-C
- Swift
@import GFPSDK;
import GFPSDK
비디오 광고 제공자 세팅
- GFPVideoProviderOptionNDA : 네이버 디스플레이 비디오 광고
- Objective-C
- Swift
// IMA와 NDA 비디오 광고를 연동하려는 경우 cocoapods 의존성 추가.
[GFPAdManager setupWithPublisherCd:@"publisherCd" completionHandler:^(GFPError * _Nullable error) {
NSLog(@"Setup ERROR: %@", error);
}];
// IMA와 NDA 비디오 광고를 연동하려는 경우 cocoapods 의존성 추가.
GFPAdManager.setup(withPublisherCd: "publisherCd") { (error : GFPError?) in
print("Setup Eror: \(String(describing: error?.description))")
}
비디오 광고 매니저 타입
- 전/중/후 광고의 스케줄링 지원을 위한 GFPVideoAdScheduleManager를 제공합니다.
추가 설정 가능 공통 요소들
GFPVideoAdRenderingSetting
GFPVideoAdRenderingSetting를 통해 광고 영상과 관련된 설정을 하실 수 있습니다.
GFPVideoAdManager와 GFPVideoAdScheduleManager의 renderingSetting을 통해 설정 가능합니다.
광고를 요청하기 전에 값을 설정해야 동작합니다. 자세한 내용은 GFPVideoAdRenderingSetting.h 파일을 참고하세요.
- Objective-C
- Swift
GFPVideoAdRenderingSetting *renderingSetting = [[GFPVideoAdRenderingSetting alloc] init];
renderingSetting.startTimeoutInterval = 5; // 재생시작 타임아웃 5초
renderingSetting.bufferingTimeoutInterval = 7; // 버퍼링 타임아웃 7초
renderingSetting.bitrateKbps = 10; // 광고영상의 최대 bitrate 10Kbps
renderingSetting.preferredLanguage = GFPLanguageType_none; // none 으로 설정 시 시스템 언어로 설정됨.
...
let renderingSetting = GFPVideoAdRenderingSetting()
renderingSetting.startTimeoutInterval = 5 // 재생시작 타임아웃 5초
renderingSetting.bufferingTimeoutInterval = 7 // 버퍼링 타임아웃 7초
renderingSetting.bitrateKbps = 10 // 광고영상의 최대 bitrate 10Kbps
renderingSetting.preferredLanguage = .none // none 으로 설정 시 시스템 언어로 설정됨.
...
GFPVideoAdPlayerSetting
GFPVideoAdPlayerSetting을 통해 광고 Player와 관련된 설정을 하실 수 있습니다.
GFPVideoAdManager와 GFPVideoAdScheduleManager의 playerSetting을 통해 설정 가능합니다.
광고를 요청하기 전에 값을 설정해야 동작합니다. 자세한 내용은 GFPVideoAdPlayerSetting.h 파일을 참고하세요.
- Objective-C
- Swift
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPause audioSetting: GFPVideoAudioSettingDefault];
self.videoAdManager.playerSetting = playerSetting;
let playerSetting = GFPVideoAdPlayerSetting(action: .pause, audioSetting: .default)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoBackgroundActionType
GFPVideoBackgroundActionType을 통해 background 진입 시 광고 재생과 관련된 설정을 하실 수 있습니다.
- GFPVideoBackgroundPause : background 진입 시 광고 Pause
- GFPVideoBackgroundPlay : background 진입 시 광고 재생 유지
- Objective-C
- Swift
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPause];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPlay];
self.videoAdManager.playerSetting = playerSetting;
let playerSetting = GFPVideoAdPlayerSetting(action: .pause)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(action: .play)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoAudioSettingType
GFPVideoAudioSettingType을 통해 광고 이어폰 연결/제거와 관련된 설정을 하실 수 있습니다.
- GFPVideoAudioSettingDefault : AVPlayer의 기본 동작 그대로 수행. (이어폰 제거 시 AVPlayer 정지)
- GFPVideoAudioSettingAuto : 이어폰 제거 : AVPlayer 정지, 이어폰 연결 : AVPlayer 재생
- Objective-C
- Swift
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAudioSetting: GFPVideoAudioSettingDefault];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAudioSetting: GFPVideoAudioSettingAuto];
self.videoAdManager.playerSetting = playerSetting;
let playerSetting = GFPVideoAdPlayerSetting(audioSetting: .default)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(audioSetting: .auto)
self.videoAdManager?.playerSetting = playerSetting
disableExternalPlayback
disableExternalPlayback을 통해 광고의 external playback 허용 여부를 설정할 수 있습니다.
- NO: 광고 플레이어의 allowExternalPlayBack은 true(=기본값) 으로 설정됩니다.
- YES: 광고 플레이어의 allowExternalPlayBack은 false로 설정됩니다.
- Objective-C
- Swift
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithDisableExternalPlayback: NO];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithDisableExternalPlayback: YES];
self.videoAdManager.playerSetting = playerSetting;
let playerSetting = GFPVideoAdPlayerSetting(disableExternalPlayback: false)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(disableExternalPlayback: true)
self.videoAdManager?.playerSetting = playerSetting
Volume 조정
- 초기값 0(muted)부터 1(loudest)까지 세팅 가능. 디폴트 Volume은 1.
- GFPVideoAdScheduleManager : 한번 세팅된 volume을 가지고 연속 광고 및 전, 중, 후 광고에서 모두 사용.
- GFPVideoAdManager : Volume 세팅 시 단건 광고 볼륨 조정.
- Objective-C
- Swift
// GFPVideoAdScheduleManager.h
@interface GFPVideoAdScheduleManager : NSObject
@property (nonatomic, assign) float volume;
@end
// GFPVideoAdManager.h
@interface GFPVideoAdManager : NSObject
@property (readwrite, nonatomic, assign) float volume;
@end
//Example
self.scheduleManager.volume = 1;
self.videoAdManager.volume = 1;
// GFPVideoAdScheduleManager.h
@interface GFPVideoAdScheduleManager : NSObject
@property (nonatomic, assign) float volume;
@end
// GFPVideoAdManager.h
@interface GFPVideoAdManager : NSObject
@property (readwrite, nonatomic, assign) float volume;
@end
//Example
self.scheduleManager?.volume = 1
self.videoAdManager?.volume = 1
기타
QOE(Quality of Experience) 정보
비디오 광고 재생과 관련한 더 상세한 이벤트를 얻기 위해 GFPVideoAdManager.qoeDelegate나 GFPVideoAdScheduleManager.qoeDelegate를 통해 이벤트 정보를 받을 있습니다.
자세한 내용은 GFPVideoAdQoeDelegate.h 및 GFPVideoAdQoeInfo.h 파일을 참고해 주세요.