usman
usman

Reputation: 11

Want to show interstitial ads on every button clicked but ad show on one button

This is my code for main_activity.i want to implement ads on every button visible on screen and when clicked interstital ad should show. But it only shows ad on btn_button.Kindly guide me how to resolve this issue.

public class MainActivity extends AppCompatActivity {
    private InterstitialAd mInterstitialAd;

    private InterstitialAd mInterstitialAd2;

    Button btn_button,btn_button2,btn_button3,btn_button4,btn_button5;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }});

        btn_button=(Button) findViewById(R.id.button);
        btn_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i3=new Intent(MainActivity.this,Button.class);
                startActivity(i3);

            }
        });

        btn_button2=(Button) findViewById(R.id.button);
        btn_button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i2=new Intent(MainActivity.this,Button.class);
                startActivity(i2);

            }
        });
        btn_button3=(Button) findViewById(R.id.button);
        btn_button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i=new Intent(MainActivity.this,Button.class);
                startActivity(i);

            }
        });
        btn_button4=(Button) findViewById(R.id.button);
        btn_button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i4=new Intent(MainActivity.this,Button.class);
                startActivity(i4);

            }
        });
        btn_button5=(Button) findViewById(R.id.button);
        btn_button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i5=new Intent(MainActivity.this,Button.class);
                startActivity(i5);

            }
        });

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());

        btn_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }
            }
        });
        mInterstitialAd2 = new InterstitialAd(this);
        mInterstitialAd2.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
        mInterstitialAd2.loadAd(new AdRequest.Builder().build());
        btn_button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mInterstitialAd2.isLoaded()) {
                    mInterstitialAd2.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }
            }
        });
        btn_button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }
            }
        });
        btn_button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }
            }
        });
        btn_button5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }
            }
        });
    }
}

Upvotes: 1

Views: 69

Answers (2)

hard coder
hard coder

Reputation: 5735

You have same button id, that's why it is showing one only one button as @Anon mentioned.

But actually you don't need so many interstitial instances as you are only using one ad unit. Only one instance is sufficient to show ad on every button clicked.

BUT... your AdMob account will be disabled very soon if you try to show ad on every click.

Upvotes: 1

Anon
Anon

Reputation: 1

Every button you are using refers to the same button id, so you have only one button working. =)

'btn_button5=(Button) findViewById(R.id.button); btn_button4=(Button) findViewById(R.id.button);'

Upvotes: 0

Related Questions