![](/img/trans.png)
[英]Android error: W/Ads: Not enough space to show ad. Needs 320x50 dp, but only has 384x0 dp
[英]AdMob Banner appears 960x150 instead of 320x50 in libGdx - what's wrong here?
对于AdMob的这种奇怪效果,我有点无奈。
AdView用代码实例化,相对布局和libGdx视图也是如此。
View view = initializeForView(Engine.createEngine(G.SPRITE_BATCH_SIZE, G.WORLD_SIZE_X, G.WORLD_SIZE_Y, MainMenuScreen.class,
"backgrounds/loadingtransition.png", Engine.TRANSITION_BOTTOM_LEFT), config);
relativeLayout.addView(view);
AdView adView = new AdView(this);
RelativeLayout.LayoutParams adParams =
new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
adParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
adParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
adView.setAdSize(AdSize.BANNER);
adView.setAdUnitId(getString(R.string.banner_ad_unit_id));
relativeLayout.addView(adView, adParams);
setContentView(relativeLayout);
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
首先,我从libGdx init添加视图,然后在顶部居中创建adView。 adSize是BANNER。
当我开始游戏时,一切都会正常进行,会显示一条横幅,但是它的尺寸不是320x50,而是950x150,正好是宽度和高度的3倍……太大了-我不想要那个。
任何人都可以在这里帮助我,我做错了什么? (这是我的第一个AdMob体验,我对Android上的所有功能都是陌生的)
使用这两个选项:
1)adView.setAdSize(AdSize.FULL_BANNER);
2)adView.setAdSize(AdSize.LEADERBOARD);
参考文档链接请单击此处
您可以根据设备的屏幕分辨率动态加载adsize:
AdSize adSize = AdSize.SMART_BANNER;
DisplayMetrics dm = getResources().getDisplayMetrics();
double density = dm.density * 160;
double x = Math.pow(dm.widthPixels / density, 2);
double y = Math.pow(dm.heightPixels / density, 2);
double screenInches = Math.sqrt(x + y);
if (screenInches > 8) { // > 728 X 90
adSize = AdSize.LEADERBOARD;
} else if (screenInches > 6) { // > 468 X 60
adSize = AdSize.MEDIUM_RECTANGLE;
} else { // > 320 X 50
adSize = AdSize.BANNER;
}
adView.setAdSize(adSize);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.