2014-02-18 4 views
11

Я пытаюсь показать объявления AdMob в своей деятельности, но он всегда дает ошибку, что «недостаточно места для показа рекламы».Недостаточно места для показа рекламы (AdMob)

Мой файл XML является:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/admobid" 
     android:layout_alignParentBottom="true" 
     android:gravity="bottom|center_horizontal" 
     ads:loadAdOnCreate="true" /> 
</RelativeLayout> 

Мой файл Java:

AdView ad=(AdView)findViewById(R.id.adMobadView); 

    AdRequest re = new AdRequest(); 
    re.setTesting(true); 
    re.setGender(AdRequest.Gender.FEMALE); 
    ad.loadAd(re); 

LogCat:

02-18 14:16:17.869: W/webcore(813): Can't get the viewWidth after the first layout 
    02-18 14:16:17.979: I/Ads(813): onReceiveAd() 
    02-18 14:16:17.979: W/Ads(813): Not enough space to show ad! Wants: <320, 50>, Has: <288, 430> 
+0

Попробуйте установить ширину и высоту match_parent к wrap_content в ваш просмотр «com.google.ads.AdView». Просто проверьте! – sai

+0

Вы используете диалоговую тему для активности в файле манифеста. –

+0

просто разместите свой AdView внутри линейного макета. Я приведу пример ниже .. вы можете попробовать –

ответ

28

Левые и правые отступы вашего RelativeLayout потребляют пространство, необходимое вашего AdView.

Изменение RelativeLayout конфигурации в:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
... 
android:paddingLeft="0dp" 
android:paddingRight="0dp" 
... 
> 

Возможно, вы также хотите изменить AdView конфигурации для:

<com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     ... 
     /> 

, как вы действительно не хотите, чтобы ваш AdView потреблять весь экран.

+0

Thanx это спасло мое время. –

+0

Работает для меня .. Спасибо человеку –

+0

ну, я найду решение отсюда –

0

Проверьте размеры экрана и Прокладки, и посмотреть, если он Фактически подходит.

Кроме того, попытайтесь изменить AdView к этому:

<com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="320dp" 
     android:layout_height="50dp" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/admobid" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     ads:loadAdOnCreate="true" /> 
-1

Просто установите поля для 0dp в res-> с ценностно> dimens.xml

<dimen name="activity_horizontal_margin">0dp</dimen> 
<dimen name="activity_vertical_margin">0dp</dimen> 
+0

Хорошо заметили сэр! В моем случае это тоже была ошибка. Это не нравится, как край дерьма! – Radu

0
to show ads inside relative layout you can follow this design 

<RelativeLayout 
     android:id="@+id/relativeLayoutpopular" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_above="@+id/bottomBar" 
     android:layout_below="@+id/relativeLayoutadd" 
     android:layout_marginTop="5dp" 
     > 
      <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:paddingTop="3dp"> 
     <com.google.ads.AdView 
      xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
      android:id="@+id/adView" 
      android:layout_width="fill_parent" 
      android:layout_weight="0.9" 
      android:layout_height="wrap_content" 
      ads:adSize="SMART_BANNER" 
      android:background="#2d2f2f" 
      ads:adUnitId="admobId" /> 
     </LinearLayout> 
    </RelativeLayout> 
0

я была такая же проблема с NativeExpressAdView. Если вы добавите дополнение или маржу к своему макету, я думаю, не рекомендуется фиксировать ширину размера объявления. Я sugger сделать в программном

  1. Первый шаг: получить размер дп экрана семе WITDH

    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); //float dpHeight = displayMetrics.heightPixels/displayMetrics.density; dpWidth = displayMetrics.widthPixels/displayMetrics.density;

2. Второй шаг:

mAdView.setAdSize(new AdSize((int) dpWidth, 150));

Смежные вопросы