How to Integrate Google Admob Rewarded Video Ads in Android?


Integrating Google AdMob Rewarded Video Ads in Android provides developers with a powerful monetization strategy for their mobile applications. By implementing this feature, developers can offer users an engaging experience while earning revenue through video advertisements. AdMob Rewarded Video Ads allow users to voluntarily watch videos in exchange for in-app rewards, providing a win-win scenario for both users and developers. This integration enables developers to leverage Google's extensive ad network, targeting a wide range of users and maximizing their app's earning potential. By following the necessary steps, developers can seamlessly incorporate AdMob Rewarded Video Ads into their Android applications and unlock a new stream of revenue.

Google Admob

Google AdMob, developed by Google, is an extensive mobile advertising platform. It empowers developers to monetize their mobile applications through the display of various types of ads like banners, interstitials, and rewarded video ads. With its vast network of advertisers and publishers, AdMob enables developers to reach a global audience and maximize their app's re-venue potential.

The ad management platform offers a user-friendly interface and robust tools for developers. It enables them to optimize their ad strategy, enhance their app's monetization capabilities, and track its performance effectively.

Developers can effectively generate income from their Android and iOS applications by utilizing Google AdMob. This platform enables them to deliver relevant and engaging ad experiences to their users, ensuring a profitable venture while keeping the audience actively involved.

Approaches

There are different methods to integrate Google AdMob Rewarded Video Ads into an Android application. Here are a few common approaches:

  • AdMob Native Ads Advanced

  • Google Mobile Ads SDK

  • AdMob Mediation

AdMob Native Ads Advanced

This method allows developers to integrate Google AdMob Rewarded Video Ads into their Android app by leveraging the Native Ads Advanced feature. With this approach, developers have the flexibility to customize the appearance of rewarded video ads to seamlessly blend with the app's design and layout, providing a more cohesive user experience.

Algorithm

  • Initialize the AdMob SDK and configure the rewarded video ad unit ID.

  • Create a custom layout for the rewarded video ad view, matching the app's design.

  • Load the rewarded video ad and set up event listeners for ad lifecycle events.

  • When the user triggers a rewarded action, show the rewarded video ad and wait for it to complete.

  • Provide the user with the designated reward upon successful completion of the ad.

Example

import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
   private Button btnShowAd;
   private RewardedAd rewardedAd;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Load the rewarded ad
      AdRequest adRequest = new AdRequest.Builder().build();
      RewardedAd.load(this, "YOUR_AD_UNIT_ID", adRequest, new RewardedAdLoadCallback() {
         @Override
         public void onAdLoaded(@NonNull RewardedAd ad) {
            rewardedAd = ad;
         }

         @Override
         public void onAdFailedToLoad(@NonNull LoadAdError error) {
            rewardedAd = null;
         }
      });

      btnShowAd = findViewById(R.id.btnShowAd);
      btnShowAd.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            showRewardedVideoAd();
         }
      });
   }

   // Show the Rewarded Video Ad
   private void showRewardedVideoAd() {
      if (rewardedAd != null) {
         rewardedAd.show(this, new RewardedAdCallback() {
            @Override
            public void onRewardedAdOpened() {
               // Ad opened
            }

            @Override
            public void onRewardedAdClosed() {
               // Ad closed
            }

            @Override
            public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
               // User earned a reward
            }

            @Override
            public void onRewardedAdFailedToShow(AdError error) {
               // Ad failed to show
            }
         });
      }
   }

   @Override
   protected void onResume() {
      super.onResume();
      if (rewardedAd != null) {
         rewardedAd.resume(this);
      }
   }

   @Override
   protected void onPause() {
      super.onPause();
      if (rewardedAd != null) {
         rewardedAd.pause(this);
      }
   }

   @Override
   protected void onDestroy() {
      super.onDestroy();
      if (rewardedAd != null) {
         rewardedAd = null;
      }
   }
} 

//activity_main.xml
<!-- activity_main.xml -->
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:padding="16dp">

   <Button
      android:id="@+id/btnShowAd"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Show Rewarded Video Ad"
      android:layout_centerInParent="true" />

</RelativeLayout>

Output

Google Mobile Ads SDK

Integrating the Google Mobile Ads SDK into an Android application enables developers to display rewarded video ads. By following the SDK's documentation and incorporating the required code, developers can easily incorporate rewarded video ads and manage their display within the app, leveraging Google's extensive ad network.

Algorithm

  • Import the Google Mobile Ads SDK into the Android project.

  • Set up the necessary permissions and dependencies in the project manifest.

  • Initialize the Mobile Ads SDK and configure the rewarded video ad unit ID.

  • Load the rewarded video ad and set up event listeners to track ad lifecycle events.

  • When the user triggers a rewarded action, check if the ad is loaded and display the rewarded video ad.

  • Handle the ad completion event and provide the user with the designated reward.

Example

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.google.android.gms.ads.AdError;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.OnUserEarnedRewardListener;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;

public class MainActivity extends AppCompatActivity {

   private RewardedAd rewardedAd;
   private Button showAdButton;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Initialize the Mobile Ads SDK
      MobileAds.initialize(this, initializationStatus -> {
      });

      // Load the rewarded video ad
      loadRewardedAd();

      showAdButton = findViewById(R.id.showAdButton);
      showAdButton.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            // Show the rewarded video ad
            showRewardedAd();
         }
      });
   }

   private void loadRewardedAd() {
      AdRequest adRequest = new AdRequest.Builder().build();

      RewardedAd.load(this, "YOUR_AD_UNIT_ID",
            adRequest, new RewardedAdLoadCallback() {
               @Override
               public void onAdLoaded(RewardedAd ad) {
                  rewardedAd = ad;

                  rewardedAd.setFullScreenContentCallback(new FullScreenContentCallback() {
                     @Override
                     public void onAdShowedFullScreenContent() {
                        // Ad showed fullscreen content
                     }

                     @Override
                     public void onAdFailedToShowFullScreenContent(AdError adError) {
                        // Ad failed to show fullscreen content
                     }

                     @Override
                     public void onAdDismissedFullScreenContent() {
                        // Ad dismissed fullscreen content
                        // Preload the next rewarded video ad
                        loadRewardedAd();
                     }
                  });
               }

               @Override
               public void onAdFailedToLoad(LoadAdError loadAdError) {
                  // Rewarded video ad failed to load
                  Log.e("MainActivity", "Rewarded video ad failed to load: " + loadAdError.getMessage());
               }
            });
   }

   private void showRewardedAd() {
      if (rewardedAd != null) {
         rewardedAd.show(this, new OnUserEarnedRewardListener() {
            @Override
            public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
               String rewardType = rewardItem.getType();
               int rewardAmount = rewardItem.getAmount();
               Toast.makeText(MainActivity.this, "Earned " + rewardAmount + " " + rewardType, Toast.LENGTH_SHORT).show();
            }
         });
      } else {
         Log.e("MainActivity", "Rewarded video ad is not ready yet.");
      }
   }
}

Output

AdMob Mediation

AdMob Mediation offers developers the ability to display rewarded video ads from multiple ad networks. By integrating AdMob Mediation, developers can utilize AdMob as the primary ad network while incorporating other networks through adapters. This method maximizes revenue potential by diversifying ad sources and taking advantage of different networks' strengths.

Algorithm

  • Integrate the AdMob SDK into the Android project and configure mediation settings.

  • Implement adapters for additional ad networks desired for mediation.

  • Initialize the mediation network SDKs and configure their respective ad unit IDs.

  • Load the rewarded video ad using the mediation configuration.

  • When the user triggers a rewarded action, check if the ad is loaded and display the rewarded video ad.

  • Handle the ad completion event and provide the user with the designated reward.

Example

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;

public class AdMobMediationExample {
   private RewardedVideoAd rewardedVideoAd;

   public void initializeAdMob() {
      MobileAds.initialize(this, "YOUR_ADMOB_APP_ID");
      rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
      rewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
         @Override
         public void onRewardedVideoAdLoaded() {
            // Rewarded video ad loaded successfully
         }

         // Implement other listener methods for ad events
      });
   }

   public void loadRewardedVideoAd() {
      // Load rewarded video ad from AdMob and other mediated networks
   }

   public void showRewardedVideoAd() {
      if (rewardedVideoAd.isLoaded()) {
         rewardedVideoAd.show();
      } else {
         // Rewarded video ad not loaded
      }
   }

   // Other methods for handling rewards and ad events
}

// Main program
public class Main {
   public static void main(String[] args) {
      AdMobMediationExample example = new AdMobMediationExample();
      example.initializeAdMob();
      example.loadRewardedVideoAd();
      example.showRewardedVideoAd();
   }
}

Output

Conclusion

In this tutorial, integrating Google AdMob Rewarded Video Ads into Android applications provides developers with a powerful monetization strategy, allowing them to generate revenue while providing users with engaging ad experiences.

Whether through AdMob Native Ads Advanced, the Google Mobile Ads SDK, or AdMob Mediation, developers can leverage Google's extensive ad network and customize their ad implementations to enhance their app's monetization potential. By seamlessly integrating rewarded video ads, developers can strike a balance between user satisfaction and financial success in their Android applications.

Updated on: 27-Jul-2023

329 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements