Skip to content

Rewarded

Just as interstitials, rewarded ads can only be integrated with code. Below we show a simple example to understand how it works:

class MainActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
...
interstitialAd = InterstitialAd(this, "<Wortise Ad Unit ID>").also {
it.loadAd()
}
}
override fun onDestroy() {
...
interstitialAd?.destroy()
}
fun showInterstitial() {
if (interstitialAd?.isAvailable == true) {
interstitialAd?.showAd(this)
}
}
}

As with other formats, a listener can be set to receive the events that happen during the rewarded lifecycle. For this, you need to implement the RewardedAd.Listener interface as shown in the example below:

rewardedAd.listener = object : RewardedAd.Listener() {
override fun onRewardedClicked(ad: RewardedAd) {
// Invoked when the ad has been clicked
}
override fun onRewardedCompleted(ad: RewardedAd, reward: Reward) {
// Invoked when the ad has been completed
}
override fun onRewardedDismissed(ad: RewardedAd) {
// Invoked when the ad has been dismissed
}
override fun onRewardedFailedToLoad(ad: RewardedAd, error: AdError) {
// Invoked when the ad could not be loaded
// (because of an error or no fill)
}
override fun onRewardedFailedToShow(ad: RewardedAd, error: AdError) {
// Invoked when the ad could not be shown
}
override fun onRewardedImpression(ad: RewardedAd) {
// Invoked when the ad has generated an impression
}
override fun onRewardedLoaded(ad: RewardedAd) {
// Invoked when the ad has been loaded
}
override fun onRewardedRevenuePaid(ad: RewardedAd,
data: RevenueData) {
// Invoked when the ad has generated revenue
}
override fun onRewardedShown(ad: RewardedAd) {
// Invoked when the ad has been shown
}
}