2017-09-04 102 views
1

我在我的應用程序中使用的廣告,我已經在這裏跟着教程:https://developers.google.com/admob/android/bannerAndroid-智能橫幅廣告沒有顯示在屏幕上的肖像模式

如果我在設定的adSize時,只是「旗」 xml,一切正常,但廣告在橫向模式或大屏幕上看起來不太好。所以,現在我試圖將adSize更改爲「SMART_BANNER」,但由於某種原因橫幅僅顯示在橫向模式中,而縱向上我只有一個白色adview。我在這裏錯過了什麼?

下面是代碼:

activity_main.xml中:

<?xml version="1.0" encoding="utf-8"?> 


<android.support.constraint.ConstraintLayout 
    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" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="0dp" 
    android:padding="0dp" 
    tools:context="com.example.shaytsabar.footballtables 
    .activities.MainActivity" 
    tools:layout_editor_absoluteX="0dp" 
    tools:layout_editor_absoluteY="81dp" 
    android:layout_marginLeft="0dp"> 


<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/toolbar_con" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_margin="0dp" 
    android:elevation="0dp" 
    android:minHeight="?attr/actionBarSize" 
    android:padding="0dp" 
    android:paddingBottom="0dp" 
    android:paddingEnd="0dp" 
    android:paddingLeft="0dp" 
    android:paddingRight="0dp" 
    android:paddingStart="0dp" 
    android:paddingTop="0dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 


<com.google.android.gms.ads.AdView 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="8dp" 
    android:layout_marginEnd="8dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginStart="8dp" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="@string/ad_id" 
    ads:layout_constraintBottom_toBottomOf="parent" 
    ads:layout_constraintLeft_toLeftOf="parent" 
    ads:layout_constraintRight_toRightOf="parent"> 
</com.google.android.gms.ads.AdView> 

<FrameLayout 
    android:id="@+id/fragment_con" 
    android:layout_width="0dp" 
    android:layout_height="0dp" 
    android:layout_marginBottom="8dp" 
    android:elevation="0dp" 
    android:padding="0dp" 
    app:layout_constraintBottom_toTopOf="@+id/adView" 
    app:layout_constraintHorizontal_bias="0.0" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toBottomOf="@+id/toolbar_con" 
    app:layout_constraintVertical_bias="0.0"> 

    </FrameLayout> 
</android.support.constraint.ConstraintLayout> 

MainActivity.java:

public class MainActivity extends AppCompatActivity{ 
    InterstitialAd mInterstitialAd; 
    AdView mAdView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     MobileAds.initialize(this, APPCODE); 
     ShowLittleAd(); 
     mAdView.setAdListener(new AdListener() { 
      @Override 
      public void onAdFailedToLoad(int i) { 
       super.onAdFailedToLoad(i); 
       ShowLittleAd(); 
      } 
     }); 
     } 
    public void ShowLittleAd(){ 
     mAdView = (AdView) findViewById(R.id.adView); 
     AdRequest adRequest = new 
     AdRequest.Builder().addTestDevice("//MY DEVICE"). 
       addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build(); 
     mAdView.loadAd(adRequest); 
    }   
} 
+0

請發佈日誌here.Logcat必須記錄Admob引發的異常... 這可能是因爲一些佈局和高度配置.. –

+0

我試圖用try和catch來包圍ShowLittleAd(),但我沒有在logCat中看到任何錯誤 – Shayts

+0

,請嘗試過濾「ads」。你有沒有看到任何痕跡? –

回答

1

Okay..I抓住了問題...

請刪除Adview中的所有空白。 替換此

<com.google.android.gms.ads.AdView 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="8dp" 
    android:layout_marginEnd="8dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginStart="8dp" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="@string/ad_id" 
    ads:layout_constraintBottom_toBottomOf="parent" 
    ads:layout_constraintLeft_toLeftOf="parent" 
    ads:layout_constraintRight_toRightOf="parent"> 
</com.google.android.gms.ads.AdView> 

本 -

<com.google.android.gms.ads.AdView 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/adView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="@string/ad_id" 
    ads:layout_constraintBottom_toBottomOf="parent" 
    ads:layout_constraintLeft_toLeftOf="parent" 
    ads:layout_constraintRight_toRightOf="parent"> 
</com.google.android.gms.ads.AdView> 

橫幅現在就全寬,可以顯示。問題是,與邊際,它沒有得到足夠的寬度顯示...

+0

謝謝你的隊友!它解決了這個問題:) – Shayts

+0

很高興幫助:) –