【问题标题】:Admob ads appear only after first refreshAdmob 广告仅在首次刷新后出现
【发布时间】:2014-10-18 14:03:18
【问题描述】:

我将来自 admob 的横幅广告添加到我的游戏中,并且横幅添加仅在第一次刷新(30 秒)后出现。在前 30 秒内,它就在那里,如果您点击应该添加广告的页面底部,它会将您带到广告页面,但广告不可见。

您可以在开始游戏并单击屏幕底部时自己查看。 Game #1

还有我的另一个游戏(如果您从该游戏的菜单(如 facebook)启动意图,然后返回菜单,广告会立即出现): Game #2

有人遇到过这种情况吗?我能做些什么来解决这个问题?

我如何初始化我的广告:

    @Override
protected void onCreate (Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    RelativeLayout layout = new RelativeLayout(this);

    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
    opener = new AndroidGalleryOpener(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 Zaidimas(opener), config);
    AdView adView = new AdView(this);
    adView.setAdUnitId("xxxxx my secret number xxxxxxxx");
    adView.setAdSize(AdSize.BANNER);
    adView.loadAd(new AdRequest.Builder()
    .build());
    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);
//initialize(new Zaidimas(opener), config);

}

【问题讨论】:

  • 请分享相关代码。您是如何实现 admob 的?
  • 添加相关代码!
  • 我有一个类似的问题,使用类似的代码,我的横幅只有在我按下主页按钮时才会显示,然后再次进入我的游戏(调用 onPause() 和 onResume())
  • @Paul 您是否已经尝试添加像下面答案中提到的 AdListener?
  • @donfuxx 不,我还没有。但我有 adView.setVisibility(View.VISIBLE);我认为在 adView.loadAd 之前

标签: android libgdx admob


【解决方案1】:

很难说你的情况会发生什么,但我怀疑你的带有 admob 横幅的 libgdx 屏幕可能会在广告加载完成之前出现。您可以尝试添加一个 AdListener,它会在广告加载完成后强制广告视图自行绘制。比如:

    adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            System.out.println("ad banner finished loading!");
            adView.setVisibility(View.GONE);
            adView.setVisibility(View.VISIBLE);
        }        
    });

代码看起来有点奇怪,但更改可见性确实应该确保您的 adView 再次被绘制;-)

【讨论】:

  • 谢谢!我刚刚添加了这段代码,它对我有用
【解决方案2】:

如果您使用的是相对布局,请确保包含视图相对于其他布局对象的位置。在我将 android:layout_below="@+id/adView" 放在我的 adView 对象正下方的对象上之前,我遇到了同样的问题。您也可以将 android:layout_above="@+id/someView" 放在 adView 对象本身上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多