2016-08-13 136 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());