如何在Android应用程序进入后台时暂停插页式广告?

时间:2014-01-08 08:49:53

标签: android admob interstitial

我使用admob for Android存在插页式广告的问题,即使我点按主页按钮或进入后台,商业视频仍在运行。有没有人知道如何解决这个问题?

我整天都在搜索,但找不到它。有人说我们无法控制广告。但是,当我们点击设备上的主页按钮或应用程序转到后台时,Youtube安卓应用程序就能暂停。

2 个答案:

答案 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(); }
        }
    });