2013-04-18 109 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)); 
}