ADMOb не работает

Файл манифеста

        <activity android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation" />
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Класс активности имеет это -

        AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxxxxx");
    // Lookup your LinearLayout assuming it’s been given
    // the attribute android:id="@+id/mainLayout"
    LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout02);
    // Add the adView to it
    layout.addView(adView);
    // Initiate a generic request to load it with an ad
    adView.loadAd(new AdRequest());
    new AdRequest().addTestDevice("CD9E4FDFA47A4AA03F9883E77C036EB3");

После запуска я получаю это -

05-17 22:39:11.153: INFO/Ads(7831): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"msid":"com.cob.fivethings","hl":"en","preqs":0,"u_so":"p","slotname":"a14dd24e71c7a34","js":"afma-sdk-a-v4.1.0","app_name":"1.android.com.cob.fivethings","isu":"CD9E4FDFA47A4AA03F9883E77C036EB3","u_audio":3,"u_w":320,"format":"320x50_mb","u_sd":1,"net":"ed","u_h":480});</script></head><body></body></html>
05-17 22:39:13.138: INFO/Ads(7831): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?msid=com.cob.fivethings&hl=en&preqs=0&u_so=p&slotname=a14dd24e71c7a34&js=afma-sdk-a-v4.1.0&app_name=1.android.com.cob.fivethings&isu=CD9E4FDFA47A4AA03F9883E77C036EB3&u_audio=3&u_w=320&format=320x50_mb&u_sd=1&net=ed&u_h=480&output=html&region=mobile_app&u_tz=-60&ex=1&client_sdk=1", "afmaNotifyDt": "null">
05-17 22:39:27.058: INFO/ActivityManager(1848): Stopping service: com.android.mms/.transaction.TransactionService
05-17 22:40:11.163: INFO/Ads(7831): AdLoader timed out after 60000ms while getting the HTML.
05-17 22:40:11.193: INFO/Ads(7831): onFailedToReceiveAd(A network error occurred.)
05-17 22:43:07.343: INFO/ActivityManager(1848): Stopping service: com.android.mms/.transaction.TransactionService

Что происходит не так?


person nasaa    schedule 17.05.2011    source источник
comment
У вас есть последняя банка admob?   -  person Haphazard    schedule 18.05.2011
comment
Это на телефоне или на эмуляторе? Есть ли подключение к интернету?   -  person Haphazard    schedule 18.05.2011
comment
Я нашел эту ссылку в группе Google - ссылка Это объясняет, почему мой не работал. Очевидно, на телефонах Android 1.5 и эмуляторе это не будет работать. Когда я попробовал это на 1.6, это работало сразу.   -  person nasaa    schedule 18.05.2011
comment
Сталкивался с этим снова и снова на симуляторах, целыми днями боролся. Как я ни старался, я не мог заставить его работать. Загрузил приложение на свой Samsung Galaxy S, подождал по крайней мере минуту или около того, и Боб — твой дядя, все заработало.   -  person n4rzul    schedule 10.06.2011
comment
Если ваша учетная запись admob только что создана, admob может произвести впечатление с задержкой на несколько дней. Это не проблема вашего кода.   -  person xtr    schedule 12.07.2012


Ответы (2)


Вам не хватает следующего из раздела «приложение» вашего манифеста

        <!-- The application's publisher ID assigned by AdMob -->
    <meta-data android:value="xxxxxxxxxxx" android:name="ADMOB_PUBLISHER_ID" />

    <!-- AdMobActivity definition -->
    <activity android:name="com.admob.android.ads.AdMobActivity"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:configChanges="orientation|keyboard|keyboardHidden" />
    <!-- Track Market installs -->          
    <receiver android:name="com.admob.android.ads.analytics.InstallReceiver"
    android:exported="true">
    <intent-filter>
       <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
    </receiver>
person bclymer    schedule 17.05.2011

Моя игра для Android была опубликована в маркете Google, но я не получил никаких впечатлений от AdMob. Существенных изменений в коде не было, да и вообще изменений, которые касались исходников AdMob, и предыдущие версии моей игры работали исправно.

Как оказалось, проблема возникла в процессе обфускации, выполненной proguard. Если вы используете его для изменения символов Java, избавьтесь от директивы -optimize из вашего proguard.cfg и вместо нее поставьте -dontoptimize.

person Eric    schedule 03.01.2012