Skip to main content

Getting Started

Rewarded ads are full-screened image or video ads that rewards users for viewing the ad.

샘플 이미지

Prerequisites

Implementing View Controller

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

  • add this property

    GFPRewardedAdManager *adManager

  • and implement this delegate protocol

    GFPRewardedAdManagerDelegate

// MyViewController.h

import GFPSDK

class MyViewController : UIViewController, GFPRewardedAdManagerDelegate {
private var adManager : GFPRewardedAdManager?
}

GFPRewardedAdManager

Initializing GFPRewardedAdManager

Initialize GFPRewardedAdManager in your view controller, say, in viewDidLoad:.

  • Provide GFPRewardedAdManager with video ad Ad Unit ID (essential) as registered on GFP dashboard, UIView to enclose video view, and GFPAdParam (optional) for better ad performance.

  • Set GFPRewardedAdManagerDelegate to GFPRewardedAdManager

danger

Use GFPRewardedAdManager instance for only single ad request, than create another for the next ad request. It is designed to manage the life cycle of only single ad.

override func viewDidLoad() {
super.viewDidLoad()

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

self.adManager = GFPRewardedAdManager(unitID: "UnitID", adParam: adParam)
self.adManager?.delegate = self
self.adManager?.requestTimeoutInterval = 60
}

Loading Ad

danger

Since AppLovin and IronSource runs on a singleton to for loading ads, you can preload only one ad at a time, per Ad Unit ID.

self.adManager?.load()

Showing Ad

On succefully loading ad, GFPRewardedAdManagerDelegates provides ad through rewardedAdManager:didLoadAd:.

Than show the rewarded ad at the desired moment, using GFPRewardedAdManager show:

info

Loaded ads don't have to be shown as soon as being loaded. Thus, preload ads for app's performance.

Be mindful, though, that loaded ads are valid for a only limited time. ex) for DFP, FAN: 60 mins.

self.adManager?.show(self)

Resuming Video Ad

For S2S rewarded video ads, if rewarded ad's viewController is presented by super-viewController's present: method, the video is paused by default.

Video must be resumed manually through the GFPRewardedAdMananger by,

GFPRewardedAdManager.resumeCurrentRewardVideo()

GFPRewardedAdManagerDelegate

Load Events

On Load Success

func rewardedAdManager(_ manager: GFPRewardedAdManager, didLoad rewardedAd: GFPRewardedAd) {
...
}

On Load Failure

rewardedAdMananger:didFailWithError emits ad load failure, show errors, valid timeout, etc.

 func rewardedAdManager(_ manager: GFPRewardedAdManager, didFailWithError error: GFPError, responseInfo:GFPLoadResponseInfo!) {
...
}

LifeCycle Events

On Start Showing Ad

func rewardedAdManager(_ manager: GFPRewardedAdManager, didStart rewardedAd: GFPRewardedAd) {
...
}

On Rewarding

func rewardedAdManager(_ manager: GFPRewardedAdManager, didComplete rewardedAd: GFPRewardedAd, with reward: GFPReward?) {
...
}
info

FAN and some ad networks does not emit GFPReward, thus, nil is returned instead.

On Dismiss

func rewardedAdManager(_ manager: GFPRewardedAdManager, didClose rewardedAd: GFPRewardedAd) {
...
}

On Click

func rewardedAdManager(_ manager: GFPRewardedAdManager, wasClickedAd rewardedAd: GFPRewardedAd) {
...
}

info

For Google DFP = 7.X.X click events are not supported.