Не запускайте AdMob на эмуляторе (Android 2.2) - PullRequest
5 голосов
/ 09 августа 2011

Я просто пытаюсь запустить admob и протестировать различные "работающие" примеры кода отсюда. Ни один из них не работает.

В деятельности у меня есть:

OnCreate ()

    AdView ad = (AdView) findViewById(R.id.ad);
    AdRequest r = new AdRequest();
    r.addTestDevice("X3XFX518X7DE1FD879XA5XXAX1AX8BXX"); //no clue why this string
    ad.loadAd(r);

В определении представления я вставил следующее (и да, вместо myPubID на самом деле мой настоящий идентификатор PUB):

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

Все, что я получаю, это черный экран на 1 секунду.

Следующий журнал (logcat) печатается во время выполнения

08-09 10:45:03.527: INFO/ActivityManager(59): Start proc de.syrtec.android.bogloid for activity de.syrtec.android.bogloid/.StartSeite: pid=4402 uid=10043 gids={3003}
08-09 10:45:04.887: ERROR/Ads(4402): Could not get currentAdManager.
08-09 10:45:05.397: WARN/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@450d4998
08-09 10:45:05.567: INFO/Ads(4402): To get test ads on this device, call adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
08-09 10:45:06.159: INFO/Ads(4402): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"preqs":0,"u_sd":1.5,"slotname":"********;</script></head><body></body></html>
08-09 10:45:07.528: WARN/webcore(4402): Can't get the viewWidth after the first layout
08-09 10:45:07.848: INFO/Ads(4402): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=0&u_sd=1.5&slotname=*****: "null">
08-09 10:45:08.809: DEBUG/webviewglue(4402): nativeDestroy view: 0x2bbb30
08-09 10:45:08.818: INFO/Ads(4402): onFailedToReceiveAd(Ad request successful, but no ad returned due to lack of ad inventory.)
08-09 10:45:11.168: DEBUG/dalvikvm(3148): GC_EXPLICIT freed 32 objects / 1640 bytes in 131ms
08-09 10:45:16.237: DEBUG/dalvikvm(272): GC_EXPLICIT freed 195 objects / 12168 bytes in 137ms

Я использую GoogleAdMobAdsSdk-4.1.1.jar и Android 2.2 на эмуляторе.

В моем аккаунте admob нет фильтра и активирован AdSense.

Я также попробовал это, создав экземпляр AdView и добавив его в rootlayout с помощью: (имеется в виду http://code.google.com/mobile/ads/docs/android/fundamentals.html)

AdView adView = new AdView(this, AdSize.BANNER, "PUB_ID");
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
layout.addView(adView);
adView.loadAd(new AdRequest());

и получил то же поведение со следующим журналом:

08-09 10:49:18.367: INFO/ActivityManager(59): Start proc de.syrtec.android.bogloid for activity de.syrtec.android.bogloid/.StartSeite: pid=4543 uid=10043 gids={3003}
08-09 10:49:19.297: ERROR/Ads(4543): Could not get currentAdManager.
08-09 10:49:19.797: WARN/ActivityManager(59): Activity pause timeout for HistoryRecord{44fe4350 de.syrtec.android.bogloid/.StartSeite}
08-09 10:49:20.067: INFO/Ads(4543): To get test ads on this device, call adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
08-09 10:49:20.379: INFO/Ads(4543): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script*****;</script></head><body></body></html>
08-09 10:49:20.397: WARN/InputManagerService(59): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@450d20b8
08-09 10:49:22.737: WARN/webcore(4543): Can't get the viewWidth after the first layout
08-09 10:49:22.957: INFO/Ads(4543): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=0&u_sd=1.5&slotname=***** "null">
08-09 10:49:24.038: DEBUG/dalvikvm(4543): GC_FOR_MALLOC freed 3826 objects / 234984 bytes in 154ms
08-09 10:49:24.058: DEBUG/webviewglue(4543): nativeDestroy view: 0x2c5320
08-09 10:49:24.058: INFO/Ads(4543): onFailedToReceiveAd(Ad request successful, but no ad returned due to lack of ad inventory.)
08-09 10:49:24.078: DEBUG/webviewglue(4543): nativeDestroy view: 0x2b81d0

Кто-нибудь знает?

Ответы [ 4 ]

5 голосов
/ 17 августа 2011

Я пробовал, как в предлагаемом уроке ( blog.kerul.net / 2011/05 / )

, но на секунду я получаю только черный вид, а затем возвращаюсь на Android "desktop ":

Источник теперь выглядит так:

класс активности:

class StartActivity extends AdActivity{
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    AdView adview = (AdView)findViewById(R.id.adView1);
    AdRequest re = new AdRequest();
    re.addTestDevice(AdRequest.TEST_EMULATOR);
    re.setTesting(true);
    adview.loadAd(re);
}
...
}

вид:

<?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:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

    <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/adView1" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        ads:adSize="BANNER"
        ads:adUnitId="MY_PUB_ID" />

</LinearLayout>

И ДА я заменилMY_PUB_ID с моим настоящим идентификатором издателя

Чего-то не хватает?Каким эмулятором вы пользуетесь с какой ОС Android?

1 голос
/ 09 августа 2011

Вам необходимо указать, что // эта строка не содержит код вашего тестового устройства. Я предпочитаю использовать setTesting (true) во время тестирования, но вы знаете. Проблема может быть в этом.

Да, и я вижу, что ваша программа не может получать рекламу по вине рекламного ресурса Поместите это в свой макет в разделе com.google.ads.adView: Xmlns: объявления = "http://schemas.android.com/apk/lib/com.google.ads"

И не забудьте взять интернет-разрешение на ваш манифест.

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

Редактировать: Я не уверен, что это ваша проблема, но я думаю, что это может помочь.

0 голосов
/ 04 августа 2012

У меня есть такой опыт сбоя приложений и отображения таких сообщений: «Ошибка надувания класса com.admob.ads.AdView».Проведя некоторые исследования и тестирование, я сделал вывод следующего атрибута XML для отображения AdView:

`<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/bg1"
android:orientation="vertical" >

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/ad"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="SMART_BANNER"
        ads:adUnitId="738a44d913034b9f"
        />  
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <EditText
        android:id="@+id/txtsearch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:inputType="textMultiLine"
        android:maxLines="3"
        android:minLines="1"
        android:scrollbarStyle="outsideOverlay"
        android:scrollbars="vertical" />

</TableRow>

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >







    <Button
        android:id="@+id/btnkamus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/search" />




    <Button
        android:id="@+id/btnsearch"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Kesan" />


    <Button
        android:id="@+id/btncadang"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="Cadang" />

</TableRow>


<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

</LinearLayout>`

Полное руководство здесь - http://blog.kerul.net/2012/08/example-how-to-install-google-admob-6x.html

0 голосов
/ 11 августа 2011

Отсутствие инвентаря означает, что в AdMob нет объявлений для показа. Обычно это происходит, если ваш аккаунт новый, через некоторое время уровень заполнения увеличится и будет показано больше объявлений.Если вы видите зеленый индикатор состояния на своих сайтах / приложениях AdMob, вам не о чем беспокоиться Попробуйте добавить AdSense, чтобы увеличить скорость заполнения Включение объявлений Google AdSense в ваших приложениях .

edit: пропустил, у вас уже был включен AdSense

...