如何在应用启动和退出时显示 Admob 插页式广告

Posted

技术标签:

【中文标题】如何在应用启动和退出时显示 Admob 插页式广告【英文标题】:How to show Admob interstitial on app start and exit 【发布时间】:2015-06-24 07:59:10 【问题描述】:

我可以在 App 启动时显示 Admob Interstitial,我也可以在 App 退出时显示 Admob Interstitial。但是现在,我想在 App 启动和退出时显示 Admob Interstitial。我尝试将 2 个代码组合在一起,一个用于应用启动,一个用于应用退出,但结果仅在应用启动时显示广告,在应用退出时不显示广告。

这是我的代码:

    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();
      
    

谁能帮我修复代码或提供新的解决方案?谢谢和最好的问候!

【问题讨论】:

别这样。对于大多数用户来说,它可以立即卸载。 我只是为 sub_activity 做的,而不是 main_activity 或 Home_activity :) 最简单的方法是创建一个应用退出按钮,然后调用 interstitial.show();将它们送回您的家庭活动。您可以调用 onBackPressed() 但这会产生其他问题并激怒您的用户。 【参考方案1】:

Google 的插页式广告指南明确规定,不建议在应用加载或退出时展示广告。

https://support.google.com/admob/answer/6066980?hl=en

>应用加载或退出(不推荐)

避免在应用加载、后退按钮以及何时放置插页式广告 退出应用程序作为插页式广告是为了放置在两者之间 内容。

来到您的代码,它应该可以在应用加载时间内正常工作。其次,一旦广告被加载并显示,您必须再次加载它才能再次显示它。要调用它,您应该编写“displayInterstitial();”在 onPause 而不是 onStop 中,并且仅在应用的一个活动中。

http://developer.android.com/training/basics/activity-lifecycle/pausing.html

但是,我认为您不应该在应用加载和退出时展示广告,因为这可能会导致您的 admob 帐户出现问题,并会增加您应用的卸载率。

【讨论】:

【参考方案2】:

这违反了 Admob 规则,但我建议在启动画面后显示广告,如谷歌建议 Admob Interstitial after app loads

【讨论】:

以上是关于如何在应用启动和退出时显示 Admob 插页式广告的主要内容,如果未能解决你的问题,请参考以下文章

仅在加载插页式广告时显示按钮,否则显示TextView?

如何在应用退出后停止显示插页式广告?

如何在应用退出后停止显示插页式广告?

单击四个按钮中的任何一个时显示插页式广告

Admob - 如何暂停插页式广告

如何停用Admob插页式广告?