Admob横幅广告显示高度在使用AndEngine制造的Android游戏中无法正确进行



我已经实现了ADMOB |Googlemobileadsdk进入了我的Android游戏,并与AndEngine一起构建。打开应用程序后,广告正在加载到游戏中,但第一次没有正确显示。但是,当我通过单击添加或转到Google Play排行榜并返回应用程序时说出App Activity说,然后开始正确显示它。因此,基本上,当我打开应用程序时,广告的宽度是全宽,但高度几乎为一半。如果单击广告,请转到广告链接,然后按下向后按钮,然后将广告带有全宽度全高。卡在此上3天:/

public static AdView adView;
@Override
protected void onSetContentView() {
    final FrameLayout frameLayout = new FrameLayout(this);
    final FrameLayout.LayoutParams frameLayoutLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
    adView = new AdView(this);
    new AdView(this);
    adView.setAdSize(AdSize.BANNER);
    adView.setAdUnitId("MY AD UNIT ID");
    final FrameLayout.LayoutParams adViewLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT, Gravity.RIGHT | Gravity.CENTER_HORIZONTAL);
    this.mRenderSurfaceView = new RenderSurfaceView(this);
    mRenderSurfaceView.setRenderer(this.mEngine, this);
    AdRequest adRequest = new AdRequest.Builder()
    .addTestDevice("MY EMULATOR ID")
    .addTestDevice("MY DEVICE ID")
    .build();
    final FrameLayout.LayoutParams surfaceViewLayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
    frameLayout.addView(this.mRenderSurfaceView,surfaceViewLayoutParams);
    frameLayout.addView(adView,adViewLayoutParams);
    this.setContentView(frameLayout, frameLayoutLayoutParams);
    adView.loadAd(adRequest);
    Log.d("Ads","AdView banner size is "+adView.getWidth()+" and "+adView.getHeight());
    //Creating the banner view.
}

也将日志我输入代码,以查看adview大小。它总是在应用程序的启动下打印出来

adview横幅大小为0和0

仅在加载后才尝试将adView添加到frameLayout

adView.setAdListener(new AdListener() {
    public void onAdLoaded(){
        frameLayout.addView(adView, adViewLayoutParams);
    }
});

如果您的广告令人耳目一新,则可能需要先检查adView是否已经添加到frameLayout之前,或者添加它会崩溃。

最新更新