我的应用程序会在您启动时打开发布商InterstitialAd,但当用户关闭它时会重新打开。这个过程经常发生,然后你不能使用应用程序,任何人都可以帮助我吗?
public void getIntertitalAds(boolean isPortraitMode)
{
interstitial = new PublisherInterstitialAd(context);
if(isPortraitMode)
interstitial.setAdUnitId(tags.getAdUnitInterstitial());
else
interstitial.setAdUnitId(tags.getAdUnitInterstitialTablet());
AdListener adListener = new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
if(interstitial!=null)
interstitial.show();
}
@Override
public void onAdClosed() {
super.onAdClosed();
interstitial = null;
}
};
// Create ad request.
PublisherAdRequest adRequest = new PublisherAdRequest.Builder()
.build();
// Begin loading your interstitial.
interstitial.setAdListener(adListener);
interstitial.loadAd(adRequest);
}
答案 0 :(得分:1)
从不从interstitial.show()
致电AdListener#onAdLoaded()
。您无法控制何时调用它,并且它提供了非常糟糕的用户体验。而是在应用中的自然断点处调用interstitial.show()
。
纵向和横向无需单独的AdUnitIds。无论如何,插页式广告都是相同的。
getIntertitalAds()
(原文如此)方法中的所有代码都应为Activity#onCreate
我强烈怀疑你的问题源于1和3的结合。