关于这个以及一些不同的答案有几个问题 – 这些问题似乎都不适用于我.
我有一个libdgx应用程序,这让我觉得有点复杂,但我没有看到它应该导致问题.我的onCreate的代码如下.
我已经分配了一个AdListener,在加载add时会调用它.这个代码被击中但没有显示任何内容.如果我将广告设置为刷新,那么它将在第一次刷新后显示.如果我在短暂等待后第二次调用loadAd,则会显示横幅.如果我在两行连续的代码上调用loadAd,广告将不会显示.关于这里可能会发生什么的任何指示都将不胜感激.
编辑:我也注意到我可以点击广告,即使我看不到广告.当我返回到点击广告的游戏时,广告正确显示.
edit2:我将广告更改为SMART_BANNER而不是BANNER,这似乎按预期工作.我仍然不知道为什么BANNER不工作.
public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create the layout FrameLayout layout = new FrameLayout(this); // Do the stuff that initialize() would do for you requestwindowFeature(Window.FEATURE_NO_Title); getwindow().setFlags( WindowManager.LayoutParams.FLAG_FulLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_FulLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON ); getwindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FulLSCREEN); AndroIDApplicationConfiguration config = new AndroIDApplicationConfiguration(); config.useAccelerometer = false; config.useCompass = false; config.useWakelock = false; config.useImmersiveMode = true; config.hIDeStatusbar = true; // Create the libgdx VIEw VIEw gameVIEw = initializeforVIEw(new WordStormGame(this), config); // Add the libgdx vIEw layout.addVIEw(gameVIEw); adVIEw = new AdVIEw(this); adVIEw.setAdUnitID("xxxxxxxxxxxx"); adVIEw.setAdSize(AdSize.BANNER); adVIEw.setAdListener(new AdListener() { public voID onAdLoaded() Gdx.app.log("Advert", "Ad Loaded"); } } ); // Add the AdMob vIEw FrameLayout.LayoutParams adsParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT, androID.vIEw.Gravity.top | androID.vIEw.Gravity.CENTER_HORIZONTAL); layout.addVIEw(adVIEw, adsParams); // Hook it all up setContentVIEw(layout); adVIEw.loadAd(new AdRequest.Builder().build());}
解决方法:
解决这个问题最终就像添加线一样简单
adVIEw.setBackgroundcolor(color.transparent);
我的最终广告创建代码如下所示:
private voID createAdVIEw() { abBuilder = new AdRequest.Builder(); abBuilder.addTestDevice("xxxxxxx"); if (adVIEw != null) ((VIEwManager) adVIEw.getParent()).removeVIEw(adVIEw); adVIEw = new AdVIEw(this); adVIEw.setAdUnitID("xxxxxxx"); adVIEw.setAdSize(AdSize.SMART_BANNER); adVIEw.setAdListener(new AdListener() { public voID onAdLoaded() { if (adsShown) adVIEw.setVisibility(VIEw.VISIBLE); Gdx.app.log("Advert", "Ad Loaded"); } } ); adVIEw.setBackgroundcolor(color.transparent); // Add the AdMob vIEw relativeLayout.LayoutParams adParams = new relativeLayout.LayoutParams(relativeLayout.LayoutParams.WRAP_CONTENT, relativeLayout.LayoutParams.WRAP_CONTENT); adParams.addRule(relativeLayout.AliGN_PARENT_top); layout.addVIEw(adVIEw, adParams);}
总结 以上是内存溢出为你收集整理的android – Admob直到第二次请求才显示广告全部内容,希望文章能够帮你解决android – Admob直到第二次请求才显示广告所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)