我可以在App开始时显示Admob Interstitial,我也可以在App退出时显示Admob非页内广告。但现在,我想在App启动和退出时显示Admob非页内广告。我尝试将两个代码组合在一起,一个用于应用程序启动,一个用于应用程序退出,但结果仅显示应用程序启动时的广告,广告未显示在应用程序退出。
这是我的代码:
InterstitialAd interstitial;
private static final String AD_UNIT_ID = "ca-app-pub-2869508995487312/2690564381";
private InterstitialAd interstitialAd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.science_layout);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
@Override
public void onAdOpened() {
}
@Override
public void onAdFailedToLoad(int errorCode) {
}
});
}
@Override
protected void onPostResume() {
// TODO Auto-generated method stub
super.onPostResume();
displayInterstitial();
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
displayInterstitial();
}
// Invoke displayInterstitial() when you are ready to display an interstitial.
public void displayInterstitial() {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
任何人都可以帮我修改代码或提供新的解决方案吗?谢谢&最好的问候!
答案 0 :(得分:3)
谷歌关于插页式广告的指南清楚地表明,不建议在应用加载或退出时展示广告。
https://support.google.com/admob/answer/6066980?hl=en
<强>&GT;应用程序加载或退出(不推荐)
避免在应用加载,后退按钮和何时放置插页式广告 作为插页式广告退出应用程序意味着放在两者之间 内容。
来到您的代码,它应该适用于应用程序加载时间。其次,一旦加载并显示广告,您必须再次加载它以再次显示它。要调用它,你应该写&#34; displayInterstitial();&#34;在onPause而不是onStop,只在应用程序的一个活动中。
http://developer.android.com/training/basics/activity-lifecycle/pausing.html
但是,我不认为您应该在应用加载和退出时展示广告,因为它可能会导致您的admob帐户出现问题,并会提高您的应用的卸载率。
答案 1 :(得分:0)
这违反了Admob规则,但是我建议在启动画面后显示广告,作为Google建议Admob Interstitial after app loads