4

我在使用适用于 Android 的 admob 的插页式广告方面遇到问题,即使我点击主页按钮或转到后台,它仍然是商业视频。有谁知道如何解决这个问题?

我已经搜索了一整天,但找不到它。有人说我们无法控制广告。但是当我们点击设备上的主页按钮或应用程序进入后台时,Youtube android 应用程序能够暂停。

4

2 回答 2

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 方法因新的插页式广告而被调用时,广告已经处于展示过程中,并且会正常展示。但是,如果由于其他原因(例如按下 Home 按钮)调用了 onPause(),它将禁止显示新的插页式广告。

唯一需要注意的是,如果您正在使用 AdListener 提供的其他回调方法。

于 2014-12-17T21:53:17.450 回答
1

声明一个全局变量

boolean isActivityIsVisible = true;

根据活动生命周期更新变量

 @Override
protected void onPause() {
    super.onPause();
isActivityIsVisible = false;
}

@Override
protected void onResume() {
    super.onResume();
isActivityIsVisible = true;
}

检查 Activity 在插页式广告回调中是否可见,如果可见则显示。

   mInterstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            requestNewInterstitial();
        }
        public void onAdLoaded(){
            if (isActivityIsVisible) { mInterstitialAd.show(); }
        }
    });
于 2017-01-29T03:56:46.617 回答