2016-08-13 81 views
0

我有一个libgdx游戏,我成功地添加了Admob广告。当我使用Android Studio在我的物理设备上运行该应用时,它显示了广告,因为我使用我的设备作为测试设备,但是当我通过手机将其发送到其他设备时,它没有显示广告。它只显示一个没有广告的黑色矩形,因为我将adView背景设置为黑色。广告不出现

我的问题是:是否应该将其上传到Google Play商店来展示广告或什么?

这里是我的代码:

protected AdView adView; 

@Override 
protected void onCreate (Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);  

    RelativeLayout layout = new RelativeLayout(this); 

    AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); 
    View gameView = initializeForView(new GameMain(), config); 
    layout.addView(gameView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); 

    adView = new AdView(this); 
    adView.setAdSize(AdSize.SMART_BANNER); 
    adView.setVisibility(View.VISIBLE); 
    AdRequest.Builder builder = new AdRequest.Builder(); 
    adView.loadAd(builder.build()); 
    adView.setBackgroundColor(0xff000000); 
    adView.setAdUnitId("xxxxxxxxxxxxxxxxxxx"); 

    RelativeLayout.LayoutParams adParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT ); 
     adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
    layout.addView(adView, adParams); 

    setContentView(layout); 
} 
+0

请检查我的回答 – Shailesh

回答

0

听起来好像问题是广告尺寸发生变化。横幅广告必须是由Google指定的大小确切的大小。如果它缩小了几个像素,它将不会显示。我猜测你正在测试的新设备具有更小的屏幕或不同的宽高比,并且该尺寸差异会传播到嵌入了广告的视图。虽然没有更多的信息,但不能确定。

+0

我设置的AdView大小SMART_BANNER,我认为问题不在于大小,我设置背景色为黑色和黑色矩形出现没有广告 – MAGS94

+0

我编辑问题 – MAGS94

0

您需要指定admob,它是您想要在其上看到广告的测试设备。为那使用addTestDevice

AdRequest adRequest = new AdRequest.Builder() 
     .setBackgroundColor(0xff000000) 
     .setAdUnitId("xxxxxxxxxxxxxxxxxxx") 
     .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // Emulator 
     .addTestDevice("FirstDeviceID") 
     .addTestDevice("SecondDeviceID") 
     .build(); 

adView.loadAd(adRequest); 

希望这会有所帮助。

+0

它显示我的设备上的广告,我添加为测试设备,但没有其他设备我的问题是为什么会发生这种情况,或者这是正常的,因为我的应用没有上传到Google Play商店 – MAGS94

+0

好的,您省略了该代码。那么这可能是因为尺寸。尝试使用正常的横幅。将banner设置为'AdSize.BANNER'并将'WRAP_CONTENT'分配为布局参数。参考[this]中的代码(http://stackoverflow.com/questions/21646129/my-admob-ad-is-not-drawing-but-is-there-libgdx-admob-6-4-1)。 – NightFury

0

请在设置admob id之前检查您加载的代码。你只需要改变这在你的代码

adView = new AdView(this); 
adView.setAdSize(AdSize.SMART_BANNER); 
adView.setVisibility(View.VISIBLE); 
AdRequest.Builder builder = new AdRequest.Builder(); 
adView.setBackgroundColor(0xff000000); 
adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); 
adView.loadAd(builder.build());