Today we’re going to learn how to add a rewarded Admob ad on Android using Java.

First, we’ll implement in our build.gradle:
implementation 'com.google.android.gms:play-services-ads:23.0.0'
Then we need to initialize the ads in our MainActivity:
MobileAds.initialize(
this,
new OnInitializationCompleteListener() {
@Override
public void onInitializationComplete(InitializationStatus initializationStatus) {}
});
And we add in the manifest (below </application>)
<meta-data
android:name="com.google.android.gms.ads.AD_MANAGER_APP"
android:value="true" />
And also within <application> </application>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR_ADMOB_APP_ID" />
Change YOUR_ADMOB_APP_ID to your Admob app id.
Now let’s create our rewarded ad:
private RewardedAd rewardedAd;
AdRequest adRequest = new AdRequest.Builder().build();
RewardedAd.load(this, "rewarded_ad_id",
adRequest, new RewardedAdLoadCallback() {
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error.
Log.d("TAG", loadAdError.toString());
rewardedAd = null;
}
@Override
public void onAdLoaded(@NonNull RewardedAd ad) {
rewardedAd = ad;
Log.d("TAG", "Ad was loaded.");
rewardedAd.show(this, new OnUserEarnedRewardListener() {
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
//Perform necessary actions when rewarded ad is viewed
}
});
rewardedAd.setFullScreenContentCallback(new FullScreenContentCallback() {
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d("TAG", "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d("TAG", "Ad dismissed fullscreen content.");
rewardedAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e("TAG", "Ad failed to show fullscreen content.");
rewardedAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d("TAG", "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
loader.setVisibility(View.GONE);
Log.d("TAG", "Ad showed fullscreen content.");
}
});
}
});
Here: “rewarded_ad_id” we’ll indicate our rewarded ad id.
And here we can perform the necessary action with the rewarded ad once viewed: //Perform necessary actions when rewarded ad is viewed
With this, we’ll show the rewarded ad.
