2016-05-22 3 views
-1

Я слежу за these Возможно, устарели инструкции по вставке (тестированию) в мой проект андроида. После того, как я перекомпилировал проект на виртуальном телефоне Nexus 5, приложение работает, но никакой рекламный баннер не отображается.Не показывать объявления для android project

Возможно, проблема связана с файлом макета, так как мой файл макета не похож на файл макета примера. Вот соответствующие части моего файла макета, чтобы включить рекламный баннер:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
    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/lib/com.google.ads" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context=".MainActivity" > 

    <android.support.design.widget.AppBarLayout 
     android:layout_height="wrap_content" 
     android:layout_width="match_parent" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary"/> 

    </android.support.design.widget.AppBarLayout> 

    <LinearLayout 
     ... 
     ... 


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

</android.support.design.widget.CoordinatorLayout> 

Является ли проблема связана с планировкой? Как еще выяснить, почему рекламный баннер не отображается?

+0

Вы используете атрибуты RelativeLayout для своего AdView внутри LinearLayout. Это не имеет большого значения, но вы, вероятно, должны заменить AdView обычным макетом View, чтобы убедиться, что он отображается правильно. – adelphus

ответ

1

В беседе с ФП, оказалось, что CoordinatorLayout и AdView оба были внутри LinearLayout, и координаторLayout выталкивал AdView на экране, потому что его высота была «match_parent»

Изменяя высоту координатораLayout на 0dp и вес до 1, будет увеличиваться, чтобы заполнить оставшееся пространство над AdView вместо того, чтобы отображать весь экран.

android:layout_height="0dp" 
android:layout_weight="1" 
1

Я думаю, вы должны использовать:

xmlns:ads="http://schemas.android.com/apk/res-auto" 

вместо:

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
+0

Нет, я до сих пор не вижу рекламы после повторной компиляции и перезапуска виртуального устройства Nexus ... – Alex

+0

@Alex Хм ... с тех пор, как вы используете 'CoordinatorLayout', имеет ли ваше' LinearLayout' правильное поведение макета, так что он не скрывается под 'AppBarLayout'? –

+0

Каково правильное поведение макета для этого? Я не знаю. Я очень начинаю с android ... – Alex