2012-07-03 34 views
0

在我的遊戲中,我實現了Millennial Media和Admob橫幅廣告(屏幕頂部的千禧年廣告,底部的Admob廣告)。所有事情都是在Android/Java中使用RelativeLayout編程式完成的,首先我要添加MMAdView,然後添加OpenGl表面,最後添加AdmobView。與Android的設備< 4.0一切都繪製正確,但在冰淇淋三明治有一個巨大的白色區域,而不是千年的旗幟。我一直在努力解決這個問題太久了。任何想法在那裏可能是錯的?
更新:我的朋友告訴我,當他沒有連接到Wifi網絡時,這個白色的矩形區域是可見的。在我的代碼中,我沒有對網絡可用性進行任何檢查。我只需觸發millennialView.setVisibility(View.VISIBLE)方法即可顯示橫幅。Android 4.0上Millennial Media橫幅中的白色矩形區域

adMobView = new AdView(this, AdSize.BANNER, ADMOB_BANNER_ID); 
    adMobView.setAdListener(getAdMobListener()); 
    AdRequest request = new AdRequest(); 
    adMobView.loadAd(request); 

    RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); 
    lay.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);   
    layout.addView(adMobView, lay); 

// ... adding OpenGL surface 

    int bannerWidth = (int)(displayMetrics.widthPixels * displayMetrics.density); 

    Hashtable<String, String> map = new Hashtable<String, String>(); 
    map.put(MMAdView.KEY_WIDTH, String.valueOf(bannerWidth)); 
    map.put(MMAdView.KEY_HEIGHT, "53"); 
    millennialView = new MMAdView(this, MILLENNIAL_BANNER_ID, MMAdView.BANNER_AD_TOP, 30, map); 
    millennialView.setId(MMAdViewSDK.DEFAULT_VIEWID); 
    millennialView.setListener(getMillennialListener()); 
+1

截圖將極大的幫助... – Codo

+0

我只有一個信息,從我的朋友,誰擁有4.0板。屏幕上方有一個白色矩形區域(屏幕的1/3)。他沒有啓用Wifi,當他點擊它時,遊戲意外崩潰。 – cplusogl

回答

0

看來問題是當網絡不可用時顯示千禧年橫幅。現在,呈現橫幅之前我只是檢查是否有網絡連接:

ConnectivityManager connectivityMgr = 
     (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 
    if(connectivityMgr != null && connectivityMgr.getActiveNetworkInfo() != null) { 
      millennialView.setVisibility(View.VISIBLE);