Skip to main content

Rewarded Ads

Rewarded ads let users opt-in to watch a video ad in exchange for an in-app reward (extra lives, premium content, virtual currency, etc.).

Each ad format uses a Zone ID to identify the ad placement. Zone IDs are configured in the Empower dashboard.

tip

Load the rewarded ad in advance and show it when the user chooses to watch. Grant the reward only on the REWARDED status.


Loading a Rewarded Ad

Load the ad in advance, for example at app startup:

EMAManager.loadRewardedAd(zoneId = "YOUR_REWARDED_ZONE_ID")

Showing a Rewarded Ad

Show the ad when the user chooses to watch:

EMAManager.showRewarded(
zoneId = "YOUR_REWARDED_ZONE_ID",
activity = this
)

Listening to Rewarded Status

The SDK handles loading, retries, and reloads

The SDK loads and displays ads automatically, retries failed loads, and reloads the next ad after a show based on per-zone settings from the Empower dashboard. Do not build manual reload loops. Use the listener to grant the reward and to track ad states if you need them.

StatusDescription
READYAd is loaded and ready to display
FAILEDAd failed to load
SHOWNAd is being displayed
COMPLETE_PLAYINGVideo finished playing
REWARDEDUser earned the reward
SKIPPEDUser closed without completing

Grant the reward when the status is REWARDED, not SKIPPED:

EMAManager.loadRewardedAd(
zoneId = "YOUR_REWARDED_ZONE_ID",
listener = object : AdStatusListener {
override fun rewardedStatusChanged(adStatus: AdStatus) {
when (adStatus) {
AdStatus.REWARDED -> grantReward()
AdStatus.SKIPPED -> { }
else -> {}
}
}
}
)