集成插页式广告并显示每隔X分钟

时间:2014-11-04 03:53:11

标签: admob interstitial

我已经成功地将来自admob的插页式广告从我的应用程序中集成到 this 教程中,我想问一下,如何每隔X分钟更改一次插页式广告

2 个答案:

答案 0 :(得分:0)

每分钟显示插页式广告通常不是一个好主意,因为您最终会中断用户流(用户积极使用您的应用时可能会出现插页式广告)。更好地利用自然休息来展示广告。

还查看admob interstitial implementation的最佳做法:

  

重复播放的插页式广告(不推荐)

     

请勿使用插页式广告来压倒用户。重复插页式广告   经常导致糟糕的用户体验和意外点击。如果你是   基于用户动作实现插页式广告(例如,选择   选项),避免为每个用户操作实施插页式广告。

     

如果您要根据时间间隔实施插页式广告   (例如,每60秒),避免在两者之间使用短暂的持续时间   插页式广告。

答案 1 :(得分:0)

这是违反谷歌政策的,但如果您仍想实施此

    private void setUpInterstitialAd() {

            interstitialAd = new InterstitialAd(this);
            interstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
            interstitialAd.loadAd(new AdRequest.Builder().build());

            interstitialAd.setAdListener(new AdListener() {
                @Override
                public void onAdClosed() {
                    // Load the next interstitial.
                    interstitialAd.loadAd(new AdRequest.Builder().build());
                }

            });


        }


        private void scheduleInterstitial() {

            ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();

            scheduler.scheduleAtFixedRate(new Runnable() {
                @Override
                public void run() {

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            displayInterstitial();

                            setUpInterstitialAd();
                        }
                    });

                }
            }, 1, 5, TimeUnit.MINUTES);

        }


        private void displayInterstitial() {

            if (interstitialAd != null) {

                if (interstitialAd.isLoaded()) {
                    interstitialAd.show();
                }
            }


        }

 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setUpInterstitialAd();

        scheduleInterstitial();

    }