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="TU_ID_APLICACION_ADMOB" />
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, "id_anuncio_recompensado",
                    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) {
                                  //Realizar las acciones necesarias cuando ve el anuncio recompensado
                                }
                            });
  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.

