인스트림 동영상 광고 옵션
광고 요청 타임아웃
광고요청 이후 지정한 시간(초)경과 까지 광고 응답을 얻지 못하면 기존 요청이 무효화며, GFPVideoAdManager의 videoAdManager:didFailWithError:responseInfo: 메소드가 호출됩니다. (기본값 60초)
- Swift
- Objective-C
self.videoAdManager?.requestTimeoutInterval = ...
self.videoAdManager.requestTimeoutInterval = ...
GFPVideoAdRenderingSetting
GFPVideoAdRenderingSetting를 통해 광고 영상과 관련된 설정을 하실 수 있습니다.
GFPVideoAdManager와 GFPVideoAdScheduleManager의 renderingSetting을 통해 설정 가능합니다.
광고를 요청하기 전에 값을 설정해야 동작합니다. 자세한 내용은 GFPVideoAdRenderingSetting.h 파일을 참고하세요.
- Swift
- Objective-C
let renderingSetting = GFPVideoAdRenderingSetting()
renderingSetting.startTimeoutInterval = 5 // 재생시작 타임아웃 5초
renderingSetting.bufferingTimeoutInterval = 7 // 버퍼링 타임아웃 7초
renderingSetting.bitrateKbps = 10 // 광고영상의 최대 bitrate 10Kbps
renderingSetting.preferredLanguage = .none // none 으로 설정 시 시스템 언어로 설정됨.
...
GFPVideoAdRenderingSetting *renderingSetting = [[GFPVideoAdRenderingSetting alloc] init];
renderingSetting.startTimeoutInterval = 5; // 재생시작 타임아웃 5초
renderingSetting.bufferingTimeoutInterval = 7; // 버퍼링 타임아웃 7초
renderingSetting.bitrateKbps = 10; // 광고영상의 최대 bitrate 10Kbps
renderingSetting.preferredLanguage = GFPLanguageType_none; // none 으로 설정 시 시스템 언어로 설정됨.
...
GFPVideoAdPlayerSetting
GFPVideoAdPlayerSetting을 통해 광고 Player와 관련된 설정을 하실 수 있습니다.
GFPVideoAdManager와 GFPVideoAdScheduleManager의 playerSetting을 통해 설정 가능합니다.
광고를 요청하기 전에 값을 설정해야 동작합니다. 자세한 내용은 GFPVideoAdPlayerSetting.h 파일을 참고하세요.
- Swift
- Objective-C
let playerSetting = GFPVideoAdPlayerSetting(action: .pause, audioSetting: .default)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPause audioSetting: GFPVideoAudioSettingDefault];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoBackgroundActionType
GFPVideoBackgroundActionType을 통해 background 진입 시 광고 재생과 관련된 설정을 하실 수 있습니다.
- GFPVideoBackgroundPause : background 진입 시 광고 Pause
- GFPVideoBackgroundPlay : background 진입 시 광고 재생 유지
- Swift
- Objective-C
let playerSetting = GFPVideoAdPlayerSetting(action: .pause)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(action: .play)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPause];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAction: GFPVideoBackgroundPlay];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAudioSettingType
GFPVideoAudioSettingType을 통해 광고 이어폰 연결/제거와 관련된 설정을 하실 수 있습니다.
- GFPVideoAudioSettingDefault : AVPlayer의 기본 동작 그대로 수행. (이어폰 제거 시 AVPlayer 정지)
- GFPVideoAudioSettingAuto : 이어폰 제거 : AVPlayer 정지, 이어폰 연결 : AVPlayer 재생
- Swift
- Objective-C
let playerSetting = GFPVideoAdPlayerSetting(audioSetting: .default)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(audioSetting: .auto)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAudioSetting: GFPVideoAudioSettingDefault];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithAudioSetting: GFPVideoAudioSettingAuto];
self.videoAdManager.playerSetting = playerSetting;
disableExternalPlayback
disableExternalPlayback을 통해 광고의 external playback 허용 여부를 설정할 수 있습니다.
- NO: 광고 플레이어의 allowExternalPlayBack은 true(=기본값) 으로 설정됩니다.
- YES: 광고 플레이어의 allowExternalPlayBack은 false로 설정됩니다.
- Swift
- Objective-C
let playerSetting = GFPVideoAdPlayerSetting(disableExternalPlayback: false)
self.videoAdManager?.playerSetting = playerSetting
let playerSetting = GFPVideoAdPlayerSetting(disableExternalPlayback: true)
self.videoAdManager?.playerSetting = playerSetting
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithDisableExternalPlayback: NO];
self.videoAdManager.playerSetting = playerSetting;
GFPVideoAdPlayerSetting *playerSetting = [[GFPVideoAdPlayerSetting alloc] initWithDisableExternalPlayback: YES];
self.videoAdManager.playerSetting = playerSetting;
Volume 조정
- 초기값 0(muted)부터 1(loudest)까지 세팅 가능. 디폴트 Volume은 1.
- GFPVideoAdScheduleManager : 한번 세팅된 volume을 가지고 연속 광고 및 전, 중, 후 광고에서 모두 사용.
- GFPVideoAdManager : Volume 세팅 시 단건 광고 볼륨 조정.
- Swift
- Objective-C
// 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;
광고 재생 문구 노출 시간
"광고 후 재생됩니다." 와 같은 광고 문구 노출 시간 설정 시 중간 광고 재생 noticeDurationSec 시간 전만큼 GFPVideoAdScheduleManagerDelegate의 showNotice 메소드가 호출됩니다.
- Swift
- Objective-C
scheduleParam.noticeDurationSec = 5.0
param.noticeDurationSec = 5.0;
컨텐츠 플레이어 컴포넌트 노출 여부에 따른 광고UI 제어
자세한 내용은 GFPVideoAdScheduleManager.h 파일을 참고해 주세요.
광고의 Overlay(Seekbar, Pause, Resume, 선거 광고, 후광고 Text) 영역 노출
- (void)showOverlayView;
광고의 Overlay(Seekbar, Pause, Resume, 선거 광고, 후광고 Text) 영역 감춤
- (void)hideOverlayView;
RemindAd(Banner, Text) 광고 노출
- (void)showRemindAd;
RemindAd(Banner, Text) 광고 감춤
- (void)hideRemindAd;
동영상 광고 UI 모드 설정
서비스의 동영상 모드에 따라 displayMode를 설정해줍니다.
- 일반 모드

self.scheduleManager.displayMode = [GFPVideoDisplayMode normal];
- PIP 모드

self.scheduleManager.displayMode = [GFPVideoDisplayMode pip];
PIP 전용 콜백
콜백 등록
GFPVideoAdScheduleManagerPIPDelegate 을 conform 하는 pipDelegate를 scheduleManager에 등록합니다.
닫기 버튼 클릭 알림
GFPVideoAdScheduleManagerPIPDelegate의 scheduleManager:didTappedCloseBtnInPIP: 을 통해 상단의 닫기 버튼 클릭을 알립니다.
- (void)scheduleManager:(GFPVideoAdScheduleManager *)aScheduleAdManager didTappedCloseBtnInPIP:(GFPVideoAdBreakResult *)aResult {
}
리턴 버튼 클릭 알림
GFPVideoAdScheduleManagerPIPDelegate의 scheduleManager:didTappedReturnBtnInPIP: 을 통해 상단의 리턴 버튼 클릭을 알립니다.
- (void)scheduleManager:(GFPVideoAdScheduleManager *)aScheduleAdManager didTappedReturnBtnInPIP:(GFPVideoAdBreakResult *)aResult {
}
ControlView 콜백
콜백 등록
GFPVideoAdScheduleManagerDelegate 을 conform 하는 delegate를 scheduleManager에 등록합니다.
ControlView 노출 전 알림
GFPVideoAdScheduleManagerDelegate의 scheduleManager:playControlWillShow: 을 통해 컨트롤뷰의 Show 애니메이션 시작을 알립니다.
- (void)scheduleManager:(GFPVideoAdScheduleManager *)aScheduleAdManager playControlWillShow:(NSTimeInterval)duration {
}
ControlView 숨김 전 알림
GFPVideoAdScheduleManagerDelegate의 scheduleManager:playControlHideShow: 을 통해 컨트롤뷰의 Hide 애니메이션 시작을 알립니다.
- (void)scheduleManager:(GFPVideoAdScheduleManager *)aScheduleAdManager playControlWillHide:(NSTimeInterval)duration {
}
SMR용 리마인드 텍스트광고 노출 및 Custom 설정
해당 Custom은 GFPTextAdViewAttribute 클래스를 통해 가능합니다.
- Swift
- Objective-C
let attribute = GFPTextAdViewAttribute(container: aContainer)
attribute.backgroundColor = UIColor.yellow
attribute.textColor = UIColor.red
attribute.verticalBarColor = UIColor.cyan
attribute.closeIcon = UIImage(named: "close")
attribute.moreIoon = UIImage(named: "more")
GFPTextAdViewAttribute *attribute = [[GFPTextAdViewAttribute alloc] initWithContainer: aContainer];
attribute.backgroundColor = [UIColor yellowColor];
attribute.textColor = [UIColor redColor];
attribute.verticalBarColor = [UIColor cyanColor];
attribute.closeIcon = [UIImage imageNamed: @"close"];
attribute.moreIcon = [UIImage imageNamed: @"more"];
- container
- 리마인드 Text 광고 영역 컨테이너 영역입니다. (디바이스 세로 모드일 때, 가로일 경우는 SDK 내부에서 처리합니다.)
- nil일 경우 세로 모드에서 리마인드 Text가 노출되지 않습니다.
- backgroundColor
- 리마인드 Text의 Default background color가 아닌 background color를 지정할 수 있습니다.
- textColor
- 리마인드 Text의 Default test color가 아닌 text color를 지정할 수 있습니다.
- verticalBarColor
- 리마인드 Text의 Default verticlabar color가 아닌 verticalBar color를 지정할 수 있습니다.
- closeIcon
- 리마인드 Text의 Default close Icon이 아닌 close Icon을 지정할 수 있습니다.
- moreIcon
- 리마인드 Text의 Default more Icon이 아닌 more Icon을 지정할 수 있습니다.
NonLinear Outer Container 변경
GFPVideoAdScheduleManager의 replaceTextAdViewAttribute: 메서드를 통해서 변경된 textAdViewAttribute를 전달할 수 있습니다.
- Swift
- Objective-C
func replace(_ textAdViewAttribute: GFPTextAdViewAttribute)
- (void)replaceTextAdViewAttribute:(GFPTextAdViewAttribute *)textAdViewAttribute {
}