在不同的按钮点击上显示同一广告

时间:2019-02-09 10:05:04

标签: java android admob

对不起,但是我试图在用户单击多个按钮时显示插页式广告。我有四个按钮,每个按钮导致不同的活动。如何在单击多个按钮时显示相同的广告(无需创建额外的广告单元和变量)?到目前为止,这是我所做的:

        Button btn1, btn2, btn3, btn4;
        interstitialAd.setAdListener(new AdListener()
                                     {
                                         @Override
                                         public void onAdClosed() {
                                             super.onAdClosed();
                                             Intent intent = new Intent(MainActivity.this, Activity1.class);
                                             startActivity(intent);
                                         }
                                     }
        );


        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});

3 个答案:

答案 0 :(得分:1)

在非页内侦听器中使用onAdClosed方法再次加载loadAd(如果已显示)并将show功能放置在按钮的点击侦听器上。我以为四个按钮处于同一活动中(如果我输入错了,请纠正我)

在按钮的onClickListener中,您使用了if show Ads or Go to this activity之类的其他语句,我的意思是if unable to show ads then go to this activity, well if the ad was shown to the user then the user will stay at the same activity

尝试一下:

btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
//***This is simple, when the button was clicked Ad will show, also the Activity1 will open.

} else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
                }


            }});

或您应该在按钮的Click侦听器方法内添加非页内侦听器,以便在关闭广告后可以打开另一个活动。

答案 1 :(得分:0)

您可以创建OnClickListener的实例,例如

OnClickListener onClickListener=new OnClickListener() {
            @Override
            public void onClick(View view) {
                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Activity1.class);
                    startActivity(intent);
}
}

并将所有按钮点击分配给

btn1.setOnClickListener(onClickListener);
btn2.setOnClickListener(onClickListener);

答案 2 :(得分:0)

像Ratish所说的onButttonClick展示广告

OnClickListener onClickListener=new OnClickListener() {
        @Override
        public void onClick(View view) {
            position = 1(for first activity)
            if (interstitialAd.isLoaded()) {
                interstitialAd.show();
            } else{
                nextActivity();
            }
} 

然后在广告已关闭的情况下转到下一个活动:

创建一个String数组,并将所有包名称存储在其中,并声明一个int:

    String optionSelected[] = {"com.sb.android.acg.upgrade.activity.firstActivity", "com.sb.android.acg.upgrade.activity.SecondActivity", "com.sb.android.acg.upgrade.activity.ThirdActivity", "com.sb.android.acg.upgrade.activity.FourthActivity", "com.sb.android.acg.upgrade.activity.fifthActivity", "com.sb.android.acg.upgrade.activity.SixthActivity"};

int position 

onAdClosed中的

 @Override
 public void onAdClosed() {
    super.onAdClosed();
    nextActivity();
}

nextActivity

public void nextActivity(){
Intent intent;
        Class<?> aclass = Class.forName(optionSelected[position]);
        intent = new Intent(MainActivity.this, aclass);
         startActivity(intent);
}

希望您了解如何调用下一个活动。如有任何疑问,请在评论中告诉我

相关问题