我使用admob for Android存在插页式广告的问题,即使我点按主页按钮或进入后台,商业视频仍在运行。有没有人知道如何解决这个问题?
我整天都在搜索,但找不到它。有人说我们无法控制广告。但是,当我们点击设备上的主页按钮或应用程序转到后台时,Youtube安卓应用程序就能暂停。
答案 0 :(得分:3)
您使用的是哪个版本的AdMob SDK?此解决方案适用于Google Play服务。
让我们说这就是你设置插页式广告的方式:
//Here is where you setup your interstitial
//...
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded(){
adView.show();
}
});
在onPause()方法中,您可以执行以下操作:
protected void onPause() {
super.onPause();
if(adView != null) {
adView.setAdListener(null);
}
}
这是有效的,因为当由于新的插页式广告而调用onPause方法时,广告已经处于显示过程中并且将正常显示。但是,如果因为其他内容而调用了onPause(),例如按下了Home按钮,则会禁止显示新的插页式广告。
如果你正在使用AdListener提供的其他回调方法,那么唯一需要注意的。
答案 1 :(得分:1)
声明一个全局变量
boolean isActivityIsVisible = true;
根据活动生命周期更新变量
@Override
protected void onPause() {
super.onPause();
isActivityIsVisible = false;
}
@Override
protected void onResume() {
super.onResume();
isActivityIsVisible = true;
}
检查插页式广告中的活动是否可见,如果可见则显示。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
requestNewInterstitial();
}
public void onAdLoaded(){
if (isActivityIsVisible) { mInterstitialAd.show(); }
}
});