【问题标题】:How to check for previous interstitial ad whether still shown or not?如何检查以前的插页式广告是否仍然显示?
【发布时间】:2016-12-13 04:09:17
【问题描述】:

我有三个活动,我想在第二个和第三个Activity展示插页式广告。

用户可以同时打开两个Activity,结果会显示两个插页式广告。

如何避免这种行为?

【问题讨论】:

    标签: android admob interstitial


    【解决方案1】:

    您可以参考 this (updated link) 链接,该链接显示了如何使用 adbmob 广告侦听器根据广告的当前状态获取回调。

    使用 AdListener 接收此类回调,这里有一个示例说明如何执行此操作。

       adView.setAdListener(new AdListener() {
            @Override
            public void onAdFailedToLoad(int errorCode) {
                            }
    
            @Override
            public void onAdClosed() {
    
            }
    
            @Override
            public void onAdOpened() {
    
            }
    
            @Override
            public void onAdLoaded(){
            }
          });
    

    所以,如果一个广告已经在屏幕上,就不要再展示另一个了。

    【讨论】:

    • 感谢您的回答,但链接无效,并且找不到 onPresentScreen 方法
    • 对不起,伙计,不知道最新的 admob 版本的变化,已经更改了链接并更新了答案,在这里您可以使用 onAdOpened() 和 onAdClosed() 来检查广告是否仍然可见或不是..并且总是在 onAdClosed() 中加载新广告
    • 再次感谢,但很抱歉,我想检测它是否像 (isLoaded) 一样打开 (boolean) 但我没有看到 (isShown)。你知道怎么做吗?
    • 您可以手动从视图层次结构中删除不需要的 InterstitialAd 实例:stackoverflow.com/questions/3805599/add-delete-view-from-layout。例如,Activity 2 具有 Interstitial A,而 Activity 3 具有 Interstitial B。如果用户同时打开了两个 Activity (2 --> 3),您可以删除在 Activity 2 上打开的插页式广告(通过将其从 Activity 2 的布局中删除)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 2018-03-05
    • 1970-01-01
    • 2012-11-24
    相关资源
    最近更新 更多