Rewarded Video
Integrate Rewarded Video Ads
In general, rewarded videos are similar to fullscreen ads in the aspect that it covers the whole screen of the device. What rewarded video ads add is the ability to reward the user when he watches the videos.
Create Placement
To create an instance of AATRewardedVideoPlacement, use the following API:
var placement = AATSDK.createRewardedVideoPlacement(name: "<PLACEMENT_NAME>")
Listen to Callbacks (Optional)
Through the use of AATRewardedVideoPlacementDelegate, you can listen to the different placement callbacks.
placement.delegate = self
AATReward
When the user is rewarded while watching a rewarded video, the placement will notify you through its delegate method: func aatUserEarnedIncentive(placement: AATPlacement, aatReward: AATReward)
passing itself and an AATReward instance.
Request Ad
You can load ads for the rewarded video placement either automatically or manually.
Automatic Reload
To automatically load rewarded video Placement:
placement.startAutoReload()
This way the rewarded video placement will always try to have an ad ready. Please also remember to stop the auto-reload when it is no longer needed:
placement.stopAutoReload()
Manual Load
To manually load the rewarded video placement:
placement.reload()
Display Ad
the AATKit can be told to display a rewarded video placement using the following method:
placement.show()
The show()
method will return a bool value indicating whether the rewarded video placement could be displayed or not. This means whether the rewarded video placement has a ready-rewarded video ad or not.
Ad Info
After loading a rewarded video, you can access the loaded ad information by accessing the adInfo property of the rewarded video placement:
func aatHaveAd(placement: AATPlacement) {
// The placement has loaded a new ad
let adInfo = self.placement?.adInfo
}
Mute Ad
Some ad networks allow muting rewarded video ads. Use the following API to mute video ads:
AATSDK.setVideoAdsMuted(true)
Has Ad
The rewarded video placement provides an API to check if it has a loaded ad.
let hasAd = placement.hasAd()
Complete Code Example
class ViewController: UIViewController {
// Create the placement
var placement = AATSDK.createRewardedVideoPlacement(name: "<PLACEMENT_NAME>")
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
// [IMPORTANT] Notify AATKit about the currently active view controller.
AATSDK.controllerViewDidAppear(controller: self)
// Set placement delegate to listen to the callbacks.
placement.delegate = self
// Start autoreloading the placement.
placement.startAutoReload()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// [IMPORTANT] Remove the currently active view controller.
AATSDK.controllerViewWillDisappear()
// [IMPORTANT] Stop placement autoreload.
placement?.stopAutoReload()
}
@IBAction func watchVideo(_ sender: UIButton) {
// An example for showing the rewarded video ad when the user clicks on "watch Video" button.
if placement?.show() == false {
// Show a message to the user telling: "Currently, no video available. Please try again later."
}
}
}
extension ViewController: AATRewardedVideoPlacementDelegate {
func aatUserEarnedIncentive(placement: AATPlacement, aatReward: AATReward) {
// The user has earned an incentive for this placement.
}
func aatHaveAd(placement: AATPlacement) {
// The placement has loaded a new ad.
}
func aatNoAd(placement: AATPlacement) {
// The placement could not load a new ad.
}
func aatAdCurrentlyDisplayed(placement: AATPlacement) {
// Ad has been displayed on the screen
}
func aatResumeAfterAd(placement: AATPlacement) {
// Back to the app.
}
}
Last updated