Skip to main content

Getting Started

Banners are rectangle ads with image on web view.

샘플 이미지

Prerequisites

Implementing View Controller

In the view controller that will present the ad view as subview,

  • add these properties

    GFPAdLoader *adLoader

    GFPBannerView *bannerView

  • and implement these delegate protocols

    GFPAdLoaderDelegate

    GFPBannerViewDelegate

info

GFPAdLoaderDelegate delivers banner and native view if ad response is successful.

GFPBannerViewDelegate delivers banner view's impression, click, size changes, errors, etc.

// MyViewController.h
import GFPSDK

class MyViewController : UIViewController, GFPAdLoaderDelegate, GFPBannerViewDelegate {
private var adLoader : GFPAdLoader?
private var bannerView : GFPBannerView?
}

GFPAdLoader

Initialize GFPAdLoader in your view controller, say, in viewDidLoad: and request an ad.

  • Provider GFPAdLoader with Ad Unit ID (essential) as registered on GFP dashboard, and GFPAdParam (optional) for better ad performance.
danger

Do not use GFPAdLoader instance for multiple ad requests, since it's only designed for single ad request.

override func viewDidLoad() {
super.viewDidLoad()

let adParam = GFPAdParam()
adParam.yearOfBirth = 1990
adParam.gender = .male
...

self.adLoader = GFPAdLoader(unitID: "UnitId", rootViewController: self, adParam: adParam)

let bannerOption = GFPAdBannerOptions()
bannerOption.layoutType = .fluidWidth
self.adLoader?.setBannerDelegate(self, bannerOptions: bannerOption)

// Requesting Ad
self.adLoader?.delegate = self
self.adLoader?.loadAd()
}

GFPAdLoaderDelegate

On Ad Load Success

func adLoader(_ unifiedAdLoader: GFPAdLoader!, didReceiveBannerAd bannerView: GFPBannerView!) {
self.view.addSubview(bannerView)
// Than set view's layout upon the superview.
...
}

On Ad Load Failure

func adLoader(_ unifiedAdLoader: GFPAdLoader!, didFailWithError error: GFPError!, responseInfo: GFPLoadResponseInfo!) {
// ...
}

On Native Ad Load Success

For GFPAdLoader.nativeSimpleOption or GFPAdLoader.nativeOption set, implement these delegate methods.

func adLoader(_ unifiedAdLoader: GFPAdLoader!, didReceiveNativeAd bannerView: GFPNativeAd!) {
...
}

func adLoader(_ unifiedAdLoader: GFPAdLoader!, didReceiveNativeSimpleAd bannerView: GFPNativeSimpleAd!) {
...
}

GFPBannerViewDelegate

GFPBannerViewDelegate delivers banner view's impression, click, size changes, errors, etc.

See more information in GFPBannerViewDelegate.h

On Banner View Unload

func bannerShouldUnload(_ bannerView: GFPBannerView) {
// ...
}
info

Notes on implementing bannerShouldUnload: with MRAID 3.0

For MRAID >= 3.0, GFPBannerView automatically unloads from superview after calling bannerShouldUnload:

On Banner View Impression

func bannerAdWasSeen(_ bannerView: GFPBannerView) {
...
}

On Banner Rendered Impression

func bannerAdWasRendered(_ bannerView: GFPBannerView) {
...
}

On Banner Clicked

func bannerAdWasClicked(_ bannerView: GFPBannerView) {
...
}

On Banner Size Change

bannerView:didChangeWith: is called when banner content size changes.

See more information in GFPBannerAdSize.h

This method must be implemented if GFPBannerSizeType is set to fluid types.

  • For .fluidWidth, size.width is returned as -1. Manually set width to desired value.

  • For .fluidHeight, size.height is returned as -1. Manaully set height to desired value.

  • For .fluid, manually set width & height to desired value.

func bannerView(_ bannerView: GFPBannerView, didChangeWith size: GFPBannerAdSize) {
...
}

On Ad Meta Data Change

func bannerView(_ bannerView: GFPBannerView, didChangeAdMeta adMeta: [String : String]) {
...
//adMeta example: ["bgcolor":"#000000", "fontcolor":"#FFFFFF"]
}

On User Muting Ad

"Ad Mute" button on a corner of the ad, providing users options to hide unwanted ads.

On muted, banner view will show "Ad is blocked. NAVER will not show this ad again." message instead of ad. Than it is app's choice whether to completely remove the banner view using this delegate method.

func bannerAdWasMuted(_ bannerView: GFPBannerView) {

}