Loading interstitial ads consists of several stages:

  1. Loading BidMachine InterstitialRequest
  2. Setting up AdMob AdRequest by loaded BidMachine InterstitialRequest
  3. Loading AdMob InterstitialAd with configured AdMob AdRequest

Loading BidMachine InterstitialRequest

Create a new InterstitialRequest instance with AdRequestListener.
Execute request on the InterstitialRequest instance to start loading.
When the onRequestSuccess callback is triggered, it means that the request has been successfully loaded and you can proceed to AdMob AdRequest settings.

// Create new BidMachine InterstitialRequest instance
InterstitialRequest interstitialRequest = new InterstitialRequest.Builder()
        .setListener(new InterstitialRequest.AdRequestListener() {
            public void onRequestSuccess(@NonNull InterstitialRequest interstitialRequest,
                                         @NonNull AuctionResult auctionResult) {
                runOnUiThread(() -> loadAdMobInterstitial(interstitialRequest));

// Request an ad from BidMachine without loading it

Setting up AdMob AdRequest

Ways to set up AdMob AdRequest by BidMachine InterstitialRequest:

  1. Create a new AdMob AdRequest instance
AdRequest adRequest = BidMachineUtils.createAdRequest(interstitialRequest);
  1. Create a new AdMob AdRequest.Builder instance
AdRequest.Builder adRequestBuilder =
AdRequest adRequest =;
  1. Fill an existing AdMob AdRequest.Builder instance
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
BidMachineUtils.appendRequest(adRequestBuilder, interstitialRequest);
AdRequest adRequest =;

Loading AdMob InterstitialAd

Use the AdMob AdRequest that was created during the previous step to load the AdMob InterstitialAd.

InterstitialAd.load(..., ..., adRequest, ...);


Sample App

You can find Sample App with BidMachineSDK and AdMob here: Github Interstitial