본문으로 건너뛰기

배너 광고 옵션

광고 렌더링 타입 (기본값 GFPDisplayAgentTypeInApp)

광고 클릭 시, Safari로 이동, In-App 이동, Scheme을 통한 이동을 지원하는 설정입니다.
광고 Banner, Native, Video 옵션 설정 후 세팅해 주시면 됩니다.

Scheme Type 설정 후 아래 AppScheme 해당하는 String 값을 설정해 주시면 됩니다.

// Safari로 이동 옵션.
let displayAgent = GFPRenderDisplayAgent(type: .displayAgentTypeNativeSafari)
GFPAdManager.adConfiguration().displayAgent = displayAgent

// 별도의 App scheme 설정 옵션.
let displayAgent = GFPRenderDisplayAgent(type: .displayAgentTypeScheme, scheme: "AppScheme")
GFPAdManager.adConfiguration().displayAgent = displayAgent

광고 요청 타임아웃 (기본값 60초)

광고요청 이후 지정한 시간(초)경과 까지 광고 응답을 얻지 못하면 기존 요청이 무효화되며, GFPAdLoaderDelegate의 adLoader:didFailWithError:responseInfo: 메소드가 호출됩니다.

self.adLoader?.requestTimeoutInterval = ...

네이티브 광고 동시 로드

배너 광고를 로드할때, 배너 또는 네이티브 광고 중 하나를 응답받을 수 있도록 설정할 수 있습니다.

let nativeOption = GFPAdNativeOptions()
nativeOption.renderingSetting = ... // 로드될 네이티브 일반형 광고 렌더링 설정
self.adLoader?.setNativeDelegate(self, nativeOptions: nativeOption)

let nativeSimpleOption = GFPAdNativeSimpleOptions()
nativeSimpleOption.simpleAdRenderingSetting = ... // 로드될 네이티브 심플형 광고 렌더링 설정
self.adLoader?.setNativeSimpleDelegate(self, nativeSimpleOptions: nativeSimpleOption)

self.adLoader?.delegate = self
self.adLoader?.loadAd()

네이티브 일반형 광고가 로드된 경우, GFPAdLoaderDelegate의 adLoader:didReceiveNativeAd: 메서드가 호출됩니다. 네이티브 심플형 광고가 로드된 경우, GFPAdLoaderDelegate의 adLoader:didReceiveNativeSimpleAd: 메서드가 호출됩니다.

배너 레이아웃 타입 설정

레이아웃을 설정하지 않은 경우 기본 값은 고정형(GFPBannerViewLayoutTypeFixed) 입니다.

  • GFPBannerView.adSize 를 통해 광고 소재의 사이즈 정보를 얻으실 수 있습니다.
  • 고정형을 제외한 레이아웃 타입(=확장형)을 설정할 경우, 가로 확장형 레이아웃 설정을 권장합니다.

고정형 레이아웃 설정 (Fixed)

  • 서비스에서 설정한 광고 컨테이너 크기에 관계 없이 광고 영역의 크기가 고정된 형태입니다.
let bannerOption = GFPAdBannerOptions()
bannerOption.layoutType = GFPBannerViewLayoutType(rawValue: 0)

가로 확장형 레이아웃 설정 (FluidWidth)

  • 배너광고의 가로 폭을 직접 설정할 수 있습니다.
let bannerOption = GFPAdBannerOptions()
bannerOption.layoutType = .fluidWidth
  • 가로 확장형으로 레이아웃 타입을 설정하여 광고를 요청하고, 광고 요청 성공 시 응답으로 받은 GFPBannerView의 가로 크기를 원하는 크기로 조절합니다.
self.bannerView?.translatesAutoresizingMaskIntoConstraints = false
self.bannerView?.widthAnchor.constraint(equalToConstant: SUPERVIEW_SIZE.width).isActive = true
/*
원하는 가로 크기만큼 bannerView frame 세팅.
*/
let frame = CGRect(x: /*원하는 X 좌표*/, y: /*원하는 Y 좌표*/, width: /*원하는 가로 크기*/, height: /*원하는 세로 크기*/)
self.bannerView?.frame = frame
  • 가로 확장이 지원되는 광고가 로드된 경우 지정하신 GFPBannerView의 가로 크기에 맞게 꽉 채워지도록 광고가 그려지고, 고정형 광고가 로드된 경우 가로 양쪽에 남는 크기는 여백으로(가운데 정렬됨) 그려집니다.

세로 확장형 레이아웃 설정 (FluidHeight)

  • 세로 확장형으로 레이아웃 타입을 설정하여, 배너 광고의 세로 폭을 직접 설정할 수 있습니다.
let bannerOption = GFPAdBannerOptions()
bannerOption.layoutType = .fluidHeight

확장형 레이아웃 설정 (Fluid)

  • 확장형으로 레이아웃 타입을 설정하여, 배너 광고의 가로/세로 폭을 직접 설정할 수 있습니다.
let bannerOption = GFPAdBannerOptions()
bannerOption.layoutType = .fluid

광고 전달 데이터 설정

hostMeta(매채와 광고간의 약속된 데이터)를 설정하여 광고 소재에 필요한 데이터를 전달합니다. hostMeta의 Key/Value는 모두 문자열 타입입니다.

hostMeta를 이용하여 광고 스타일을 설정할 수 있습니다. InterfaceStyle 전역 설정과 별개로, 특정 화면에서 UI 모드가 다를 때 개별 설정을 통해 아이콘 스타일을 맞출 수 있습니다. '광고 별 설정 > 전역 설정'의 우선 순위에 따라 적용되며, 광고 별 style 설정이 없을 경우 전역 설정을 따라갑니다.

//example
let bannerOption = GFPAdBannerOptions()
bannerOption.hostMeta = ["light":"theme"]
bannerOption.hostMeta = ["dark":"theme"]
bannerOption.hostMeta = ["system":"theme"] // 아이폰 설정의 style을 따라갑니다.