2013-04-18 110 views
1

白色矩形區域(其覆蓋顯示MMEDIA橫幅當整個屏幕)上與Android設備存在4.0+而僅使用純Java代碼。添加指定寬度和高度的線條並不能解決問題(白色屏幕仍然存在)。希望這個問題將得到千年團隊的調查。歡呼聲白色矩形空間

MMSDK.initialize(this); 

millennialView = new MMAdView(this); 
millennialView.setApid(MILLENNIAL_BANNER_ID); 
millennialView.setId(MMSDK.getDefaultAdId()); 

RelativeLayout.LayoutParams lay2 = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
lay2.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
layout.addView(millennialView, lay2); 

Map<String, String> metaData = new HashMap<String, String>(); 
metaData.put("width", "480"); 
metaData.put("height", "60"); 

MMRequest mmediaRequest = new MMRequest(); 
mmediaRequest.setMetaValues(metaData); 
millennialView.setMMRequest(mmediaRequest); 
millennialView.setListener(getMillennialListener()); 

millennialView.getAd(); 

回答

0

我已經結束了把所有相關的代碼到XML文件的MMEDIA並與Android包裹它:layout_width = 「480dp」 機器人:layout_height = 「60dp」 在最新MMEDIA APi的5.2

+0

嗨,我面臨同樣的問題。你能分享你的XML文件嗎?這將有所幫助。 –

+0

如果你能幫助,這裏是我的問題,請看看它 - http://stackoverflow.com/questions/16653670/integrate-millennial-media-sdk-5-0-in-android-application –

0

這與MMAdView應用於佈局層次結構時的大小有關。由於其WebView中的內部更改,MMAdView無法識別WRAP_CONTENT。因此,Millennial的文檔會要求您明確設置廣告尺寸。請參閱步驟二:http://docs.millennialmedia.com/android-SDK/AndroidBannerAds.html

一個有趣的副作用:如果您使用的是中介合作伙伴(例如AdMob或MoPub),則必須爲其橫幅視圖窗口小部件(分別爲AdView和MoPubView) 。

+0

我已經結束了把所有的MMEDIA相關的代碼到XML文件,並與Android包裹它:layout_width =「480dp」機器人:layout_height = 「60dp」。 而作爲一個側面說明,因爲它是真的很難得到你以正常的方式任何迴應(通過電子郵件)。看起來你清除了與應用程序相關的所有緩存。我已經更新到MMEDIA V5.0和添加Interstitals我的比賽是最後一次從用戶的手機打掉了幾個遊戲的進度數據。有人應該得到一個椅子,真的 – cplusogl

0

同樣的問題。

我用一個列表視圖附加AdView的。使用匹配內容的高度。

一些測試後,我發現橫幅廣告只需要在Android的4.04整個屏幕,我有設備上。 4.4和薑餅似乎沒問題。

這裏是我的代碼來解決這個問題:

float density = getResources().getDisplayMetrics().density; 
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2) { 
    height = display.getHeight(); 
    width = display.getWidth(); 
} else { 
    Point size = new Point(); 
    display.getSize(size); 
    height = size.y; 
    width = size.x; 
} 

LinearLayout layout = (LinearLayout)findViewById(R.id.llBannerAd); 
if (width/density > 727 && height/density > 600) { 
     mAdView.setAdSize(AdSize.LEADERBOARD); 
     layout.setLayoutParams(new LinearLayout.LayoutParams(width, 91)); 
} else if (width/density > 467 && height/density > 400) { 
    mAdView.setAdSize(AdSize.FULL_BANNER); 
    layout.setLayoutParams(new LinearLayout.LayoutParams(width,61)); 
} else { 
     mAdView.setAdSize(AdSize.BANNER); 
    layout.setLayoutParams(new LinearLayout.LayoutParams(width, 55)); 
}