【问题标题】:Admob and Awkward Libgdx Display BehaviorAdmob 和尴尬的 Libgdx 显示行为
【发布时间】:2014-12-28 15:56:59
【问题描述】:

我在 SO 中寻找了一些答案,但我找不到任何东西。我用 libgdx 为 android 开发了一个游戏。我用 admob 添加了广告。游戏一切都很好,但游戏中没有显示广告。如果我按下手机的主页按钮,将游戏返回并再次按下主页按钮并再次打开游戏。广告正确显示。如何解决此问题以从头开始展示广告?

MyCode 如下所示

public class AndroidLauncher extends AndroidApplication {
AdView adView;
@Override
protected void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();



    RelativeLayout layout = new RelativeLayout(this);


    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);


    View gameView = initializeForView(new NewGame(), config);


    adView = new AdView(this); 
    adView.setAdSize(AdSize.BANNER);
    adView.setAdUnitId("ca-app-pub-XXXXXXXXXXXX");
    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);

    layout.addView(gameView);


    RelativeLayout.LayoutParams adParams =
            new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,
                    RelativeLayout.LayoutParams.WRAP_CONTENT);
    adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    adParams.addRule(RelativeLayout.CENTER_HORIZONTAL);

    layout.addView(adView, adParams);


    setContentView(layout);
}


@Override
protected void onPause() {
    adView.pause();
    super.onPause();
}

@Override
protected void onResume() {
    adView.resume();
    super.onResume();
}

}

提前致谢。

【问题讨论】:

    标签: java android mobile libgdx admob


    【解决方案1】:

    尝试在 setContentView 之前隐藏和显示 adview。

    adView.setVisibility(View.GONE);
    adView.setVisibility(View.VISIBLE);
    

    如果这不起作用,只需在您的 adview 中添加一个侦听器并执行相同操作

     adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            adView.setVisibility(View.GONE);
            adView.setVisibility(View.VISIBLE);
        }        
    });
    

    【讨论】:

    • 第一个不起作用,但第二个起作用。我了解我们的工作,但我不明白为什么我们必须这样做:)
    • 也许有些缓存被清除了,无论如何,很高兴我帮助了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-03
    相关资源
    最近更新 更多