🎁 Rewarded Ads
Rewarded ads are a user-initiated ad format that offers in-app rewards in exchange for watching a full video ad or interacting with a playable ad. Unlike other ad formats, rewarded ads are opt-in – users choose to engage with them in exchange for a benefit within the app. This makes them less intrusive and often more welcomed by users.
How They Work
Rewarded ads typically come in the form of short videos, though they can also be interactive experiences. The user is presented with an offer: watch this ad, and you'll receive [reward]. The reward could be anything from in-game currency, extra lives, premium features, discounts, or access to exclusive content.
The user must actively choose to view the ad. They are not forced to watch it. Once they've completed the interaction (e.g., watched the video), they receive the promised reward.
Why Publishers Use Rewarded Ads
- Monetization: Rewarded ads provide a reliable revenue stream for publishers. Because users opt-in, they are often more engaged with the ads, leading to higher completion rates and better monetization.
- Improved User Experience: Since users choose to watch rewarded ads, they are less disruptive than other ad formats. In fact, they can even enhance the user experience by providing valuable rewards.
- Increased User Engagement: Rewarded ads can encourage users to interact more with the app. The prospect of receiving a reward can motivate users to play more, explore new features, or try different aspects of the app.
- Higher eCPMs: Because of the higher engagement and completion rates, rewarded ads often command higher effective cost per mille (eCPM) compared to other ad formats.
- User Retention: By offering valuable rewards, publishers can incentivize users to return to the app and continue engaging with it.
Important Considerations for Publishers
- Reward Value: The rewards offered must be valuable enough to entice users to watch the ads. If the rewards are too small or insignificant, users won't be motivated to engage.
- Ad Quality: Ensure that the ads being shown are of high quality and relevant to the target audience. Poorly produced or irrelevant ads can negatively impact the user experience.
- Placement and Frequency: Place rewarded ad opportunities at natural points in the user flow. Avoid bombarding users with too many rewarded ad offers. Find a balance that maximizes revenue without disrupting the user experience.
- Transparency: Be transparent about the rewards being offered and the process for claiming them. Make it clear to users that they are choosing to watch the ad in exchange for the reward.
- User Experience: Always prioritize the user experience. Rewarded ads should enhance, not detract from, the overall app experience. Avoid anything that feels manipulative or coercive.
- Testing and Optimization: Experiment with different reward structures, ad placements, and frequencies to find what works best for your audience. Track your metrics to see how rewarded ads are impacting user engagement and revenue.
In Simple Terms
Imagine playing a mobile game. You're running low on in-game coins. The game offers you a choice: "Watch a short video ad, and we'll give you 500 coins!" You choose to watch the ad, and you get the coins. That's a rewarded ad. You're getting something valuable in exchange for your time. It's a win-win for both the publisher and the player.
Example Implementation
Here's a basic example of how to implement rewarded ads with proper handling of rewards and skips:
// Initialize the ad
const magfi = window.MagfiAdNetwork.getInstance("YOUR_APP_CODE");
const rewardedAd = magfi.add({ AD_CODE: "REWARDED_AD_CODE" });
// Listen for when the ad is ready
rewardedAd.addEventListener("onReady", () => {
// Enable the "Watch Ad" button
watchAdButton.disabled = false;
});
// Show the ad when the user clicks the button
watchAdButton.addEventListener("click", () => {
if (rewardedAd.isReady()) {
rewardedAd.show({
onClosed: () => {
// User completed the ad and earned the reward
giveUserReward();
console.log("Reward given to user");
},
onSkip: () => {
// User skipped the ad without earning the reward
console.log("User skipped the ad, no reward given");
showSkippedMessage();
},
onGranted: () => {
// User granted necessary permissions
console.log("Permissions granted");
}
});
} else {
console.log("Ad not ready yet");
}
});
function giveUserReward() {
// Add coins, unlock content, or provide other rewards
userCoins += 500;
updateCoinsDisplay();
showRewardMessage();
}
function showRewardMessage() {
// Show a message confirming the reward
rewardMessage.textContent = "You earned 500 coins!";
rewardMessage.style.display = "block";
setTimeout(() => {
rewardMessage.style.display = "none";
}, 3000);
}
function showSkippedMessage() {
// Show a message explaining no reward was given
skipMessage.textContent = "You need to watch the full ad to earn rewards";
skipMessage.style.display = "block";
setTimeout(() => {
skipMessage.style.display = "none";
}, 3000);
}
This example demonstrates how to:
- Initialize a rewarded ad
- Enable UI elements when the ad is ready
- Show the ad when the user opts in
- Properly handle different ad outcomes (completion, skip)
- Give rewards only when the ad is completed
- Provide user feedback for both scenarios