2016-07-01 11 views
0

Ich habe gerade versucht, ein Adview in mein Layout aufzunehmen. Funktioniert einwandfrei, außer dass es eine leere Stelle anzeigt, wenn keine Internetverbindung besteht. Wie ich bisher gelesen habe, verstehe ich, dass das Standardverhalten für einen Admob darin besteht, nur dann Platz zu nehmen, wenn die Ad angezeigt wird. Ansonsten, z. keine Internetverbindung, sollte es keinen Layout-Platz einnehmen. Ich liste den Code, wo ich glaube, ich könnte einen Fehler gemacht haben und deshalb habe ich dieses seltsame Verhalten begegnen ...Adview von Admob zeigt leere Box, wenn keine Internetverbindung besteht

<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     xmlns:tools="http://schemas.android.com/tools" 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:background="#FFFFFF" 
     android:weightSum="1"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="?attr/colorPrimary" 
     android:theme="@style/AppTheme.AppBarOverlay" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

    <include layout="@layout/content_main" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 


    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/banner_ad_unit_id"> 
    </com.google.android.gms.ads.AdView> 
</LinearLayout> 

Dann in app gradle:

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.google.firebase:firebase-core:9.2.0' 
    compile 'com.google.firebase:firebase-ads:9.2.0' 
} 
apply plugin: 'com.google.gms.google-services' 

Und in Modul gradle :

dependencies { 
    classpath 'com.android.tools.build:gradle:2.1.0' 
    classpath 'com.google.gms:google-services:3.0.0' 

Ich denke, ich habe etwas falsch gemacht, also bitte helfen Sie mir mit einem Rat. Vielen Dank!

+0

die Box hat keine Grenzen oder seine leeren Bereich? – giannisf

+0

Keine Grenzen, leerer Bereich ... – Rucsi

+1

Ich empfehle, nach Internetverbindung zu suchen und sich zu verstecken, falls nicht verfügbar. – giannisf

Antwort

6

Fügen Sie diesen Code in Ihre Klassendatei

AdView adView = (AdView)findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adView.loadAd(adRequest); 
adView.setAdListener(new AdListener() { 
     @Override 
     public void onAdLoaded() { 
      super.onAdLoaded(); 
      adView.setVisibility(View.VISIBLE); 
     } 

     @Override 
     public void onAdFailedToLoad(int errorCode) { 
      super.onAdFailedToLoad(errorCode); 
      adView.setVisibility(View.GONE); 
     } 
    }); 
+0

lass mich wissen, dass dein Problem behoben ist oder nicht mit meinem Antwortcode? –

+0

Danke, ich werde es versuchen ... Aber was ich wirklich wollte, war zu wissen, WARUM ich dieses Verhalten bekomme. Es passiert die ganze Zeit (um diesen Raum zu verlassen) für alle und es gibt keine andere Lösung, nur um einen Zuhörer anzukündigen ? ...... – Rucsi

+0

ja, nur eine Lösung das ist. –