2013-09-28 3 views
2

logcat дает только одну ошибку, не достаточно места для показа рекламы. Все в приложении прекрасно работает, за исключением объявления admob на экране запуска. Вот XMLНедостаточно места для показа рекламы с admob

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<Button 
    android:id="@+id/close" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10.0dip" 
    android:layout_marginRight="10.0dip" 
    android:text="Exit" 
    android:textSize="20.0dip" /> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="XXXXXX" 
     ads:loadAdOnCreate="true" 
     ads:testDevices="TEST_EMULATOR" > 
    </com.google.ads.AdView> 
</RelativeLayout> 

</LinearLayout> 

Все, что я хочу иметь на экране полной страницы объявления и кнопка, которая будет закрывать надстройку и запустить основную деятельность при нажатии. Кнопка работает нормально, но при загрузке xml она не показывает объявление, и открывающееся окно намного меньше экрана.

Это активность .Java, на которую установлен указанный макет.

package com.androidsleepmachine.gamble; 

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class Splash extends Activity { 

Button close; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    close = (Button) findViewById(R.id.close); 
    AdView adView = (AdView)this.findViewById(R.id.adView); 
    adView.loadAd(new AdRequest()); 
    close.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent i = new Intent("android.intent.action.Home"); 
      startActivity(i); 


     } 
    }); 
} 

} 
+1

почему вы поставите 'AdView' в' RelativeLayout'? –

ответ

1

Вы установили layout_height в wrap_content для родителя. Используйте вместо этого:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<Button 
    android:id="@+id/close" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10.0dip" 
    android:layout_marginRight="10.0dip" 
    android:text="Exit" 
    android:textSize="20.0dip" /> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="XXXXXX" 
     ads:loadAdOnCreate="true" 
     ads:testDevices="TEST_EMULATOR" > 
    </com.google.ads.AdView> 
</RelativeLayout> 

</LinearLayout> 

EDIT: Вы должны использовать код в вашей деятельности, чтобы загрузить приложение, в соответствии с https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android:

AdView adView = (AdView)this.findViewById(R.id.adView); 
    adView.loadAd(new AdRequest()); 

EDIT 2:

Как обычно, вы должны заменить MY_AD_UNIT_ID на идентификатор издателя AdMob. Вы также должны добавить свой собственный идентификатор устройства в объявления: атрибут testDevices , чтобы получить тестовые объявления на вашем устройстве.

Я просто предполагал, что вы фактически меняете эти значения ... да, вы должны на самом деле поставить для них значения.

+0

Он все еще не работает. он открывает небольшую коробку и кнопку в поле, но ничего больше. – user2727048

+0

Loading ... Загружено объявление? Также как и часть xml, вам также нужно сделать некоторый код в действии. В руководстве для разработчиков Admob есть учебное пособие –

+0

Мне сказали, и я видел несколько примеров: было ли объявление создано только в XML, у меня нет никакого кода в действии, запускающем объявление – user2727048

-1

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

<dimen name="activity_horizontal_margin">0dp</dimen> 
<dimen name="activity_vertical_margin">0dp</dimen> 
Смежные вопросы