Java 在不同的按钮上显示相同的广告
请原谅我的无知,但当用户点击多个按钮时,我试图显示一个插页广告。我有四个按钮,每个按钮指向不同的活动。如何在多个按钮点击时显示相同的广告(无需创建额外的广告单位和变量)?以下是我迄今为止所做的工作:Java 在不同的按钮上显示相同的广告,java,android,admob,Java,Android,Admob,请原谅我的无知,但当用户点击多个按钮时,我试图显示一个插页广告。我有四个按钮,每个按钮指向不同的活动。如何在多个按钮点击时显示相同的广告(无需创建额外的广告单位和变量)?以下是我迄今为止所做的工作: Button btn1, btn2, btn3, btn4; interstitialAd.setAdListener(new AdListener() {
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);
}
}});
您可以创建
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);
使用Interstitual listener中的
onAdClosed
方法重新加载AD(如果已显示),并将show
功能置于单击按钮的listeners上。我以为四个按钮在同一活动中(如果我错了,请纠正我)
在按钮的onClickListener中,您使用了if-else语句,如显示广告或转到此活动
我的意思是如果无法显示广告,则转到此活动,如果广告显示给用户,则用户将停留在同一活动
试试这个:
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 Listener方法中添加中间侦听器,这样你就可以在广告关闭时打开另一个活动。OnButton点击显示广告,就像Ratish说的那样
OnClickListener onClickListener=new OnClickListener() {
@Override
public void onClick(View view) {
position = 1(for first activity)
if (interstitialAd.isLoaded()) {
interstitialAd.show();
} else{
nextActivity();
}
}
然后在广告结束时,转至下一个活动执行以下操作:
创建一个字符串数组,并在其中存储所有包名,并声明一个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();
}
在nextractivity
public void nextActivity(){
Intent intent;
Class<?> aclass = Class.forName(optionSelected[position]);
intent = new Intent(MainActivity.this, aclass);
startActivity(intent);
}
public-void-nextActivity(){
意图;
Class aclass=Class.forName(optionSelected[position]);
意图=新意图(MainActivity.this,aclass);
星触觉(意向);
}
希望您理解如何调用下一个活动。如果有任何疑问,请在评论中告诉我,您希望在每次单击按钮时显示“添加”。您希望在adClose上执行什么操作?是的。我的意思是,如果显示广告,用户有关闭选项。如果广告被关闭,它不会转到意图指定的活动。你的意思是返回到启动广告活动的活动。如果是这种情况,那么你需要在意图中发送活动信息,并使用它再次启动活动。@Sopnishah在你的按钮中单击你使用的if-else语句,如show Ads或转到此活动
或如果无法显示广告,则转到此活动
。