【问题标题】:Show and hide AdMob banner with better performance?以更好的性能显示和隐藏 AdMob 横幅?
【发布时间】:2016-02-06 12:56:28
【问题描述】:

我正在编写自己的安卓应用程序。 在这个应用程序中,我将 OpenGL 用于所有 2D 图形。 我想实施 AdmMob 横幅广告来赚钱(希望 ;))。每次玩家在死亡屏幕中死亡时都会显示横幅,但在玩家玩游戏时不会显示。

问题是:当我集成一个测试广告时,应用开始出现延迟,需要 再过几秒钟来加载模具屏幕。

要加载和隐藏横幅,我使用以下两种方法:(来自:The Google Developer site

    private void showBanner() {
        mAdView.setVisibility(View.VISIBLE);
        mAdView.loadAd(adRequest);
    }
    private void hideBanner() {
        mAdView.setVisibility(View.GONE);
    }

我的问题是:有人知道我是否可以在开始时加载横幅:

mAdView.loadAd(adRequest)

并且只显示和隐藏横幅:

    private void showBanner() {
        mAdView.setVisibility(View.VISIBLE);
    }
    private void hideBanner() {
        mAdView.setVisibility(View.GONE);
    }

?????????

还是违反实施指南?

PS:这种方法会更快,因为它不必在每次玩家死亡时加载新广告。

【问题讨论】:

    标签: android admob


    【解决方案1】:

    我用来暂停/恢复 adView。所以,我会更新你的代码如下:

    private void showBanner() {
        mAdView.resume();
        mAdView.setVisibility(View.VISIBLE);
    }
    private void hideBanner() {
        mAdView.pause();
        mAdView.setVisibility(View.GONE);
    }
    

    我在我的应用程序中使用了此代码(可在 GooglePlay 中获得),但我从未收到过做错事的通知。所以,我认为没有问题。

    然而,

    检查这个谷歌开发者网站,似乎甚至不需要。所以,也许,你的隐藏代码应该没问题.. 只是 showBanner 应该更新以请求新的......

    https://developers.google.com/admob/android/games

    在游戏过程中,您需要隐藏广告。这可以通过调用 hideBanner 方法来完成:

    private void hideBanner() {
        adView.setVisibility(View.GONE);
    }
    

    游戏结束后,再次调用 showBanner 方法刷新广告并使其可见。

    private void showBanner() {
      adView.setVisibility(View.VISIBLE);
      adView.loadAd(new AdRequest.Builder()
          .addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build());
    }
    

    【讨论】:

    • 谢谢!我将尝试使用暂停和恢复的方法。我已经从开发者网站获得了我的方法,我的问题是每次再次加载横幅都需要很长时间( adView.loadAd () )。但我认为只有暂停和恢复会更好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2016-03-29
    • 1970-01-01
    相关资源
    最近更新 更多