2014-11-16 2 views
1

배너 광고용 애플리케이션에서 Google Play 서비스로 이전했기 때문에 광고가로드되지 않아도 항상 빈 공간을 차지합니다.AdMob - admob 배너가로드되지 않은 빈 공간

배너가로드되어 있지 않을 때 빈 공간을 사용하지 않기를 바랍니다.

내 XML 코드 :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    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:background="@color/background" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <GridView 
     android:id="@+id/icon_view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:numColumns="4" /> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" /> 

</RelativeLayout> 

답변

1

는 GONE에 추가 ​​기능의 가시성을 숨기기, 그로드 한 번 볼 수 있도록.

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" 
     android:visibility="gone" /> 

그리고 방금 광고를로드하기 전에, 즉, 그것을 볼 수 있도록 할 때 :

adviewName.setVisibility(View.VISIBLE); 
4

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" 
     android:visibility="gone" /> 

android:visibility="gone"에 당신 같이 adView의 가시성을 숨기기 및 디스플레이 광고 노출 가시성을 setAdListener으로 처리합니다.

adView.setAdListener(new AdListener() { 

    @Override 
    public void onAdClosed() { 
    } 

    @Override 
    public void onAdFailedToLoad(int error) { 
     adView.setVisibility(View.GONE); 
    } 

    @Override 
    public void onAdLeftApplication() { 
    } 

    @Override 
    public void onAdOpened() { 
    } 

    @Override 
    public void onAdLoaded() { 
     adView.setVisibility(View.VISIBLE); 
    } 
});