2011-06-16 15 views
9

मैं लेआउट संरचना है:खाली अंतरिक्ष गायब

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 
    <com.google.ads.AdView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    ads:adSize="BANNER" 
    /> 

    <LinearLayout style="@style/TitleBar" 
    android:layout_width="fill_parent" 
    android:layout_height="45dip" 
    // title bar 
    </LinearLayout> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    // main layout with all needed elements and background!" > 

</RelativeLayout> 
</LinearLayout> 

सब कुछ ठीक लग जब तक अपना AdMob disappered। फिर मैं admob आकार के साथ खाली काला क्षेत्र देख सकते हैं।

अद्यतन: मेरे स्क्रीन शॉट: enter image description here

सामान्य रूप से मैं यहाँ विज्ञापन ब्लॉक देख सीए, लेकिन जब मैं onFailedToReceiveAd (विज्ञापन अनुरोध सफल है, लेकिन कोई विज्ञापन विज्ञापन वस्तु-सूची की कमी के कारण लौट आए।) मिल विज्ञापन disappers और मेरे लेआउट सभी स्क्रीन भर नहीं है।

+0

आप द्वारा "AdMob गायब हो गया" क्या मतलब है? यह गायब हो जाता है? – kabuko

+0

लेआउट अच्छा दिखता है अच्छा befor admob पहली बार दिखाया गया है। जब विज्ञापन दिखाता है कि सभी तत्वों को स्थानांतरित कर दिया गया है, लेकिन फिर भी मुझे लगता है कि मैं चाहता हूं। लेकिन जब विज्ञापन गायब हो गया, तो मेरा लेआउट स्थानांतरित नहीं हुआ (मूल स्थिति में)। –

+1

क्या आप एक स्क्रीनशॉट पोस्ट कर सकते हैं? मैं कहता हूं कि इस महीने एडोब को समस्याएं थीं। और कुछ हद तक इस दृश्य प्रभाव के साथ। – davidcesarino

उत्तर

5

जो आप वर्णन करते हैं वह अजीब दिखता है ... जिस कारण से मेरा मानना ​​था कि विज्ञापन गायब हो गया था, विज्ञापन को ताज़ा करने के मामले में और विज्ञापन एडोब पक्ष पर विज्ञापन की कमी के कारण कोई विज्ञापन नहीं दिया गया था। लेकिन मेरे स्वयं के परीक्षण से, एक बार विज्ञापन लोड हो जाने पर, यदि कोई विज्ञापन विज्ञापन रीफ्रेश विफल हो जाता है, तो पिछला विज्ञापन प्रदर्शित रहता है, मैंने विज्ञापनों को 'गायब' नहीं देखा है।

शायद आप लॉगकैट देख सकते हैं और देख सकते हैं कि आपको वहां कोई त्रुटि है या नहीं।

यहां कुछ कोड है जिसका उपयोग मैं अपने स्वयं के ऐप पर विज्ञापन अनुरोध वितरण/विफलता का परीक्षण करने के लिए करता था। मामले में रिक्त स्थान को एक विज्ञापन के बाद लोड हो रहा है विफल रहता है, मैं तुम्हें adview

AdView av = (AdView)findViewById(R.id.adView); 

     // Set AdListener 
     av.setAdListener(new AdListener() { 
      AdView av = (AdView)findViewById(R.id.adView); 
      @Override 
      public void onFailedToReceiveAd(Ad ad, ErrorCode error) { 
       System.err.println("Ad failed: " + ad.toString() + error.toString()); 
       av.setVisibility(AdView.GONE);//By setting visibility to GONE, you hide the AdView, but the AdView won't refresh automaticaly anymore. 

      } 

      @Override 
      public void onReceiveAd(Ad ad) { 
       System.out.println("Ad received: " + ad.toString()); 
       av.setVisibility(AdView.VISIBLE); 
      } 
     }); 

     // Create an ad request. 
     AdRequest adRequest = new AdRequest(); 

     // Start loading the ad in the background. 
     av.loadAd(adRequest); 
+0

आपका अंतिम अपडेट मेरे विचारों की पुष्टि करता है, आपको विज्ञापन विफलता मिलती है क्योंकि AdMob के पास कोई विज्ञापन नहीं है। आप AdMob एसडीके का किस संस्करण का उपयोग कर रहे हैं (मैं 4.1.0 का उपयोग करता हूं)? मैं उत्सुक हूं क्योंकि ऐसा लगता है कि व्यवहार मेरे ऐप पर अलग है, जब मुझे रिक्त स्थान की बजाय विज्ञापन रीफ्रेश में विफलता मिलती है, तो पिछला विज्ञापन डिस्प्ले पर रहता है। अब AdMob के लिए पर्याप्त विज्ञापन नहीं होने के बारे में आप इतना कुछ नहीं कर सकते हैं, आप एक नया विज्ञापन अनुरोध लागू करने के लिए FailedToReceiveAd पर कुछ कोड जोड़ सकते हैं, AdView को छिपाने का प्रयास करें और इसे फिर से ReceiveAd में दिखाएं, या भरने के लिए एक होम विज्ञापन सेट करें शून्य। – Smugrik

+0

मैंने विफलता के मामले में विज्ञापन दृश्य को छिपाने के लिए कुछ कोड जोड़ा है, यहां 'दोष दृश्यता (GONE)' के साथ छिपा हुआ दोष है, तो AdView अब खुद को रीफ्रेश नहीं करेगा, इसलिए आपको मैन्युअल 'AdView करना चाहिए।loadAd (अनुरोध) 'किसी बिंदु पर। एक बार जब 'लोडएड' सफल हो जाता है,' 'ऑन-रिसीवएड' के अंदर सेट दृश्यता (दृश्यमान) 'AdView को फिर से दिखाएगा, तब से यह AdMob सेटिंग्स के अनुसार रीफ्रेश होगा। – Smugrik

2

बस यह पुष्टि करने के लिए कि आपके विज्ञापन में यह ऊंचाई पैरामीटर के रूप में है?

android:layout_height="wrap_content" 
+0

हां, ज़ाहिर है। –

+0

यह सुनिश्चित करना था कि आप AdMob को सेट करते समय लेआउट में या तो xml में या कोड में पूर्ण आकार नहीं दे रहे हैं। – PravinCG

2

इस पर देखने का एक और तरीका यह है कि आप अपने ऐप को लक्षित करने के लिए AdMob में अपना 'घर विज्ञापन' सेट अप करें। फिर जब AdMob के पास सेवा करने के लिए कोई विज्ञापन नहीं है तो वह अपना खुद का विज्ञापन 'रिक्त भरने' के लिए प्रदर्शित करेगा।

+0

अच्छा विचार! मैं इस समाधान के बारे में सोचूंगा। –

1

उपयोग आकार बदलने के लिए दृश्यता सेट समारोह लेआउट से निकालने के लिए onFailedToReceiveAd अंदर कुछ कोड डाल सकता है लगता है प्रकट होता है।

SetVisibility()

Check this post also on hiding the AdView

संबंधित मुद्दे