2011-05-01 2 views
0

Я успешно сделал мои объявления admob на примере кода, предоставленного Google, по адресу http://code.google.com/mobile/ads/docs/android/fundamentals.html, но когда дело доходит до моего собственного приложения, они не отображаются.Объявления admob не отображаются

Я прочитал некоторые связанные вопросы, но, похоже, это не проблема для LinearLayout, которую я использую. Одно замечание заключается в том, что в моем приложении он расширяет ListActivity вместо Activity.

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

     <com.google.ads.AdView android:id="@+id/adView"       
      android:layout_width="wrap_content"       
      android:layout_height="fill_parent"       
      ads:adUnitId="myadmobid"       
      ads:adSize="BANNER"/> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="2"> 
     <TextView 
      android:id="@+id/hottopictab" 
      android:text="Deal" 
      android:gravity="center_horizontal|center_vertical" 
      android:background="#000000" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textStyle="bold" 
     android:typeface ="sans" 
      android:layout_weight="1"/> 

     <TextView 
      android:id="@+id/newtopictab" 
      android:text="()" 
      android:gravity="center_horizontal|center_vertical" 
      android:background="#000000" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:textStyle="bold" 
     android:typeface ="sans" 
      android:layout_weight="1"/> 

     <TextView 
      android:id="@+id/recommendtab" 
      android:text="" 
      android:gravity="center_horizontal" 
      android:background="#000000" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:layout_weight="1"/> 

    <ImageButton 
      android:layout_height="fill_parent" 
      android:id="@+id/refresh" 
      android:background="#000000" 
      android:src="@drawable/refresh"  
      android:layout_width="wrap_content" 
      android:layout_marginRight="6dip"  
     /> 


    </LinearLayout>    
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="40"> 

     <ListView 
      android:id="@android:id/list" 
      android:text="row one" 
      android:textSize="15pt" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 

    </LinearLayout>  
</LinearLayout> 

ответ

2

Проблема решена. Это было из-за нехватки места «Недостаточно места, чтобы показать объявление! Хочет: < 480, 75>, Имеет: < 336, 522>". Когда я расширяю эмулятор, он работает.

1

Установить admob, чтобы быть тестовой учетной записью. Затем вы сможете увидеть, является ли это проблемой Admob или проблемой с вашим кодом.

Кроме того, проверьте Logcat - возможно, в настоящий момент нет объявлений, доступных для вас.

+0

Я установил его как тестовую учетную запись. request.setTesting (истина); И я вижу, что моя учетная запись admod получает новые запросы время от времени, когда я запускаю/отлаживаю свое приложение. Как проверить логарифм? – Yang

+0

Проверьте вкладку logcat в представлении DDMS в Eclipse. – Haphazard

4

Проверьте свой logCat, когда вы находитесь в действии/методе, который должен заполнить ваше объявление. У меня была проблема, когда он не показывался, потому что баннеры требуют 50dip вертикального пространства, и я только давал 50px (не то же самое). LogCat даст вам предупреждение о том, что он не может вписаться в запрошенное пространство.

Кроме того, вы звоните

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

в вашей деятельности где-нибудь? Вы должны запросить объявление, они не загружаются автоматически.

И еще одно, помещая рекламу в свой макет, вам нужно убедиться, что у вас есть файл attrs.xml, как показано в учебнике adMob.

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <declare-styleable name="com.google.ads.AdView"> 
     <attr name="adSize"> 
      <enum value="1" name="BANNER"/> 
      <enum name="IAB_MRECT" value="2"/> 
      <enum name="IAB_BANNER" value="3"/> 
      <enum name="IAB_LEADERBOARD" value="4"/> 
     </attr> 
     <attr format="string" name="adUnitId"/> 
    </declare-styleable> 
</resources> 
0

У меня была эта проблема, когда я реализовал Admob несколько часов назад.

То, что я сделал, было включено в мою учетную запись admob и установил приложение для подачи «домашних объявлений» для незаполненных запасов.

Затем я создал фальшивое собственное объявление (которое я собираюсь сделать, чтобы сделать объявление, чтобы купить версию без рекламы).

Что это означает, если вы запрашиваете объявление у admob из своего приложения, и в настоящее время нет спроса, вместо этого будет показано ваше объявление в доме.

Надеюсь, что это поможет

0

всего лишь 30 минут работал для меня. Я перезапустил приложение, и появилось приложение.