【问题标题】:Want to show interstitial ads on every button clicked but ad show on one button想要在点击的每个按钮上显示插页式广告,但在一个按钮上显示广告
【发布时间】:2020-01-24 16:59:24
【问题描述】:

这是我的 main_activity 代码。我想在屏幕上可见的每个按钮上实现广告,并在单击时显示插页式广告。但它只在 btn_button 上显示广告。请指导我如何解决此问题。

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.");
                }
            }
        });
    }
}

【问题讨论】:

    标签: java android-studio ads interstitial


    【解决方案1】:

    你有相同的按钮 ID,这就是为什么它只显示一个按钮,就像 @Anon 提到的那样。

    但实际上您并不需要这么多插页式广告实例,因为您只使用了一个广告单元。只需一个实例就足以在每次点击按钮时展示广告。

    但是...如果您尝试在每次点击时展示广告,您的 AdMob 帐户很快就会被停用。

    【讨论】:

      【解决方案2】:

      您使用的每个按钮都引用相同的按钮 ID,因此您只有一个按钮在工作。 =)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多