How to implement intersial and Banner ads in android studio



string........................add


<resources>

    <string name="app_name">My Application</string>



    <!-- Admob AD ON or OFF -->

    <string name="show_admob_ad">ON</string>


    <!-- Device ID  setTestDeviceIds (search on logcat for device id) -->

    <string name="device_id">ABCD</string>


    <!-- Admob APP ID HERE -->

    <string name="admob_APP_ID">ca-app-pub-3940256099942544~3347511713</string>

    <!-- Admob Ad Unit IDS Here -->

    <string name="admob_INTERSTITIAL_UNIT_ID">ca-app-pub-3940256099942544/1033173712</string>

    <string name="admob_BANNER_UNIT_ID">ca-app-pub-3940256099942544/6300978111</string>

</resources>


_____________________________________________________________________________________________


dependencies..................add



    //admob

    implementation 'com.google.android.gms:play-services-ads:20.5.0'



___________________________________________________________________________________________________


manifest............................add



  <meta-data

            android:name="com.google.android.gms.ads.APPLICATION_ID"

            android:value="@string/admob_APP_ID" />


____________________________________________________________________________



activity_main..........................add



   <Button

        android:id="@+id/bottom"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_centerVertical="true"

        android:text="butttom" />


    <com.google.android.gms.ads.AdView

        xmlns:ads="http://schemas.android.com/apk/res-auto"

        android:id="@+id/adView"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_centerHorizontal="true"

        android:layout_alignParentBottom="true"

        ads:adSize="BANNER"

        ads:adUnitId="@string/admob_BANNER_UNIT_ID">

    </com.google.android.gms.ads.AdView>


_________________________________________________________________




MainActivity......................add


import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;


import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;


import com.google.android.gms.ads.AdListener;

import com.google.android.gms.ads.AdRequest;

import com.google.android.gms.ads.AdView;

import com.google.android.gms.ads.FullScreenContentCallback;

import com.google.android.gms.ads.LoadAdError;

import com.google.android.gms.ads.MobileAds;

import com.google.android.gms.ads.RequestConfiguration;

import com.google.android.gms.ads.initialization.InitializationStatus;

import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

import com.google.android.gms.ads.interstitial.InterstitialAd;

import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;


import java.util.Arrays;

import java.util.List;



public class MainActivity extends AppCompatActivity {


    AdView mAdView;

    Button bottom;

    public static int CategoryClicked = -10;


    protected void onCreate(Bundle savedInstanceState) {


        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        mAdView = findViewById(R.id.adView);

        bottom = findViewById(R.id.bottom);

        mAdView.setVisibility(View.GONE);


        if (getString(R.string.show_admob_ad).contains("ON")){

            initAdmobAd();

            loadBannerAd();

            loadFullscreenAd();


        }


        bottom.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {


                Intent myinten = new Intent(MainActivity.this,MainActivity2.class);

                startActivity(myinten);

                //We are tracking the category postion. So that we can call the intent after ad loads



                if (mInterstitialAd==null){


                    startActivity(new Intent(MainActivity.this, MainActivity2.class));

                }else{

                    mInterstitialAd.show(MainActivity.this);

                }

            }

        });





    }



    int BANNER_AD_CLICK_COUNT =0;

    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

    private void loadBannerAd(){

        AdRequest adRequest = new AdRequest.Builder().build();

        mAdView.loadAd(adRequest);

        mAdView.setAdListener(new AdListener() {

            @Override

            public void onAdLoaded() {

                // Code to be executed when an ad finishes loading.

                if (BANNER_AD_CLICK_COUNT >=3){

                    if(mAdView!=null) mAdView.setVisibility(View.GONE);

                }else{

                    if(mAdView!=null) mAdView.setVisibility(View.VISIBLE);

                }

            }


            @Override

            public void onAdFailedToLoad(LoadAdError adError) {

                // Code to be executed when an ad request fails.

            }


            @Override

            public void onAdOpened() {

                // Code to be executed when an ad opens an overlay that

                // covers the screen.

            }


            @Override

            public void onAdClicked() {

                // Code to be executed when the user clicks on an ad.

                BANNER_AD_CLICK_COUNT++;


                if (BANNER_AD_CLICK_COUNT >=3){

                    if(mAdView!=null) mAdView.setVisibility(View.GONE);

                }


            }


            @Override

            public void onAdClosed() {

                // Code to be executed when the user is about to return

                // to the app after tapping on an ad.

            }

        });


    }

    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>




    // loadFullscreenAd method starts here.....

    InterstitialAd mInterstitialAd;


    private void loadFullscreenAd(){


        //Requesting for a fullscreen Ad

        AdRequest adRequest = new AdRequest.Builder().build();

        InterstitialAd.load(this,getString(R.string.admob_INTERSTITIAL_UNIT_ID), adRequest, new InterstitialAdLoadCallback() {

            @Override

            public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {

                // The mInterstitialAd reference will be null until

                // an ad is loaded.

                mInterstitialAd = interstitialAd;


                //Fullscreen callback || Requesting again when an ad is shown already

                mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){

                    @Override

                    public void onAdDismissedFullScreenContent() {

                        // Called when fullscreen content is dismissed.

                        //User dismissed the previous ad. So we are requesting a new ad here

                        loadFullscreenAd();


                        if (CategoryClicked>=0){

                            startActivity(new Intent(MainActivity.this, MainActivity2.class));

                        }


                    }


                }); // FullScreen Callback Ends here



            }

            @Override

            public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {

                // Handle the error

                mInterstitialAd = null;

            }


        });


    }

    // loadFullscreenAd method ENDS  here..... >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>



    private void initAdmobAd(){


        if (getString(R.string.device_id).length()>12){

            //Adding your device id -- to avoid invalid activity from your device

            List<String> testDeviceIds = Arrays.asList(getString(R.string.device_id));

            RequestConfiguration configuration =

                    new RequestConfiguration.Builder().setTestDeviceIds(testDeviceIds).build();

            MobileAds.setRequestConfiguration(configuration);

        }





        //Init Admob Ads

        MobileAds.initialize(this, new OnInitializationCompleteListener() {

            @Override

            public void onInitializationComplete(InitializationStatus initializationStatus) {

            }

        });


    }


}