Android Admob多按钮点击上的间隙广告
我有一个有10个按钮的活动,每个按钮指向不同的活动。当我在点击按钮时添加间隙广告时,效果很好,但当用户关闭广告时,它总是带他去活动(主题)。无论他点击什么按钮,它总是带他去活动(主题十) 我想要的是,当用户点击活动按钮(topic_-one)时,它会将用户带到活动(topic_-one),依此类推Android Admob多按钮点击上的间隙广告,android,admob,Android,Admob,我有一个有10个按钮的活动,每个按钮指向不同的活动。当我在点击按钮时添加间隙广告时,效果很好,但当用户关闭广告时,它总是带他去活动(主题)。无论他点击什么按钮,它总是带他去活动(主题十) 我想要的是,当用户点击活动按钮(topic_-one)时,它会将用户带到活动(topic_-one),依此类推 private InterstitialAd interstitialAd; @Override protected void onCreate(Bundle savedInstanceState
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_topics_list);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-1164579427694627/2090370128");
interstitialAd.loadAd(new AdRequest.Builder().build());
bt2 = (Button) findViewById(R.id.button2);
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (interstitialAd.isLoaded()){
interstitialAd.show();
}
else {
startActivity(new Intent(topics_list.this, topic_one.class));
}
}
});
interstitialAd.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
startActivity(new Intent(topics_list.this, topic_two.class));
interstitialAd.loadAd(new AdRequest.Builder().build());
}
});
bt3 = (Button) findViewById(R.id.button3);
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (interstitialAd.isLoaded()){
interstitialAd.show();
}
else {
startActivity(new Intent(topics_list.this, topic_two.class));
}
}
});
interstitialAd.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
startActivity(new Intent(topics_list.this, topic_three.class));
interstitialAd.loadAd(new AdRequest.Builder().build());
}
});
试试这个方法
interstitialAd1 = new InterstitialAd(this);
interstitialAd1.setAdUnitId("ca-app-pub-1164579427694627/2090370128");
interstitialAd1.loadAd(new AdRequest.Builder().build());
interstitialAd2 = new InterstitialAd(this);
interstitialAd2.setAdUnitId("ca-app-pub-1164579427694627/2090370128");
interstitialAd2.loadAd(new AdRequest.Builder().build());
bt1 = (Button) findViewById(R.id.button1);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
if (interstitialAd1.isLoaded())
{
interstitialAd1.show();
}
else
{
startActivity(new Intent(topics_list.this, topic_one.class));
}
}
});
interstitialAd1.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
interstitialAd1.loadAd(new AdRequest.Builder().build());
startActivity(new Intent(topics_list.this, topic_one.class));
}
});
bt2 = (Button) findViewById(R.id.button1);
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (interstitialAd2.isLoaded()){
interstitialAd2.show();
}
else {
startActivity(new Intent(topics_list.this, topic_two.class));
}
}
});
interstitialAd2.setAdListener(new AdListener(){
@Override
public void onAdClosed() {
interstitialAd2.loadAd(new AdRequest.Builder().build());
startActivity(new Intent(topics_list.this, topic_two.class));
}
});
我刚刚创建了两个具有相同ad单元id的Interstitual。将其与setonclicklistener和adlistener一起使用,以在ads关闭时控制流 您可以使用enum方法处理多次单击,以便在单击时加载不同的活动。您只需要实现一个中间添加。您必须声明枚举列表以标识每个活动
private InterstitialAd mInterstitialAd;
ActivityType activityType;
public enum ActivityType {
DRINKLOG, DRINKREPORT,WEIGHTREPORT
}
当您为按钮实现click listener时,您只需检查是否加载了add
fabDrink.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterstitialAd.isLoaded()) {
activityType = ActivityType.DRINKLOG;
mInterstitialAd.show();
Timber.e("Loading" + "second");
} else {
Intent intent = new Intent(MainActivity.this, YourActivity1.class);
startActivity(intent);
}
}
});
要初始化中间添加,请创建一个具有键和侦听器的方法
mInterstitialAd = newInterstitial();
private InterstitialAd newInterstitial() {
InterstitialAd interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.interstitial_ad_id));
interstitialAd.loadAd(new AdRequest.Builder().build());
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
mInterstitialAd = newInterstitial();
switch (activityType) {
case DRINKLOG:
Intent intent = new Intent(MainActivity.this, YourActivity1.class);
startActivity(intent);
break;
case DRINKREPORT:
Intent activity2= new Intent(MainActivity.this, YourActivity2.class);
startActivity(activity2);
break;
case WEIGHTREPORT:
Intent activity3= new Intent(MainActivity.this, YourActivity3.class);
startActivity(activity3);
break;
}
}
});
return interstitialAd;
}
interstitalad…listener….
是否需要封装在上面的块中?我使用的是android studioI,我不知道是否需要封装。