2013-02-10 58 views
2

我不知道爲什麼會發生這種情況,這讓我很生氣。長話短說,在我通過MoPub使用的所有廣告網絡中,AdMob似乎是唯一一家不展示廣告的公司,宣稱它沒有足夠的空間。在MoPub中,我有一個電話廣告單元和一個平板電腦廣告單元。下面是具體的日誌:AdMob通過MoPub - 沒有足夠的空間來顯示廣告

02-10 09:44:44.094: I/Ads(9363): Request scenario: Online server request. 
02-10 09:44:50.114: D/webviewglue(9363): nativeDestroy view: 0x678b8418 
02-10 09:44:50.124: I/Ads(9363): onReceiveAd() 
02-10 09:44:50.124: D/MoPub(9363): Google AdMob load succeeded. Showing ad... 
02-10 09:44:50.124: D/MoPub(9363): adLoaded 
02-10 09:44:50.124: D/MoPub(9363): Tracking impression for native adapter. 
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823> 
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823> 

廣告被加載,而是因爲它顯然需要更多的空間不顯示。我只想顯示橫幅廣告。我正在Nexus 7上測試。

我使用的其他網絡是LeadBolt和Millennial。他們在相同的空間顯示橫幅廣告。

我的Java代碼,以選擇哪個廣告單元顯示(根據屏幕大小手機或平板電腦):

//Advert if statement 
    Configuration config = getResources().getConfiguration(); 

      if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
          Configuration.SCREENLAYOUT_SIZE_LARGE) { 
        //Tablet 
        mAdViewTabletLarge = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewTabletLarge.setAdUnitId("id here"); 
          mAdViewTabletLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewTabletLarge.loadAd(); 
      } 
      else if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
            Configuration.SCREENLAYOUT_SIZE_XLARGE) { 
        //Tablet 
        mAdViewTabletXLarge = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewTabletXLarge.setAdUnitId("id here"); 
          mAdViewTabletXLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewTabletXLarge.loadAd(); 
      } 
      else { 
        //Phone 
        mAdViewPhone = (MoPubView) findViewById(R.id.LargeAdvert); 
          mAdViewPhone.setAdUnitId("id here"); 
          mAdViewPhone.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext())); 
          mAdViewPhone.loadAd(); 
      } 

任何人有任何線索是怎麼回事?

+0

愚蠢的問題,但多少空間*不*有多少?如果它沒有969x119,它根本不會顯示。根據日誌,你有800水平(不夠),和垂直的一些隨機溢出的數字。記錄'getWidth()'和'getHeight()'會暴露什麼? – Geobits 2013-02-10 21:32:51

+1

爲了澄清,AdMob比其他網絡更挑剔。其他人仍然會投放廣告並讓應用擴展或縮小。AdMob希望嚴格遵守其規則/指南。 – Geobits 2013-02-10 21:35:19

+0

據我所知,它沒有足夠的空間,但對於橫幅廣告,我不明白爲什麼它要求這麼大的廣告。在MoPub中,我將平板廣告設置爲728x90。這是我對它的唯一控制。對於那些我認爲永遠不會有足夠空間的東西,可能是10英寸的平板電腦,而不是7英寸的平板電腦。 – 2013-02-10 21:38:53

回答

1

由於縱向模式下Nexus 7上的728x90 dp廣告太大,只有600 dp寬,因此您會收到錯誤消息。我無法想象其他網絡如何將728x90圖像融入600x90,除非它們將高度縮小以保持縱橫比。 AdMob不會像這樣擴展廣告,而是拋出此警告。

這聽起來像一個Mopub的限制,平板廣告只能是一個尺寸。我對Mopub前端設置並不熟悉,但也許您可以爲7英寸平板電腦創建另一個較小尺寸的廣告,並在運行時檢查您的屏幕寬度以確定要顯示哪個廣告。

+0

我可以想象得到如此。其他廣告不會縮放,廣告不適合放在屏幕上。我知道我不應該允許,但正如你所說,MoPub只允許一個大小,這是一個恥辱。無論如何,我已經縮小了比例,所以728x90的廣告將從現在開始僅顯示在10英寸的平板電腦上,350x50的手機廣告將顯示在連線7上。不理想,但很好。我的下一個問題是搞清楚爲什麼點擊千禧一代廣告絕對沒有。問題後的問題! – 2013-02-12 10:56:22

+0

對於7英寸平板電腦來說,更合適的尺寸是468x60,我有點驚訝Mopub不提供這個功能Re:千禧年,我碰巧也有一個可能的解釋,你可能在一臺設備上測試與API 17或18他們有一些問題,他們的結束點擊他們的廣告後,API 16什麼都不做 – 2013-02-12 18:27:23

+0

是的,我的Nexus 7是一個API 17設備,有一種寬慰,它不是我的最後,謝謝你的幫助。 – 2013-02-13 10:36:21

1

您應該在MoPub中創建一個320x50的廣告單元和一個728x90的廣告單元,檢測設備的寬度,然後根據設備的寬度有條件地觸發它們。

如果屏幕寬度小於728像素, 320x50的廣告單元。

如果大於,使用橫幅廣告單元。

+0

是的,這是我最初的想法,但是我發現LARGE - XLARGE條件更容易。在嘗試調試這些問題時,我學會了如何獲取設備的屏幕寬度並在其上寫入if語句,以便更新我的代碼。 – 2013-02-13 10:39:20

+0

我只是意識到,即使這不會工作,因爲admob要求的設備寬度爲969.我可以保持它的方式或稱它,以便如果寬度超過970,它應該顯示平板廣告。7英寸的表格將設備寬度超過728所以會出現同樣的問題。 – 2013-02-13 11:53:01

3

即時得到同樣的親在我的Nexus 7上瑕疵。我目前使用Eclipse Juno,Service Release 1.在此版本中有@dimension/... 引用自動添加到xml佈局文件。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 
    ... 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    ... 
    ... 

當我刪除@dimension/...引用時,錯誤消失,廣告顯示。不確定是否有技巧來覆蓋該錯誤,並允許廣告在@dimension/...參數中顯示。如果有人知道,請分享!

+0

就是這樣!謝謝!! – ercan 2014-02-11 22:49:05

1

此錯誤的原因:

在那裏你想顯示的廣告是從父視圖中刪除的視圖。 確保

<LinearLayout 
     android:id="@+id/layoutAdmobGame" 
     android:layout_width="wrap_content" 
     android:layout_height="52dp" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentRight="true" 
     android:background="@android:color/transparent" 
     android:gravity="center_horizontal" 
     android:orientation="vertical" > 
</LinearLayout> 

這其父視圖中,並沒有被刪除

相關問題