2011-07-17 67 views
3

我有一个需要通过AdMob显示广告的Android应用程序。 这里是我的日志:AdMob广告收到后 - IOException连接到广告网址

07-18 01:55:53.116: INFO/Ads(8682): 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":"**************","u_w":320,"msid":"com.paladin.hilula","cap":"m","adtest":"on","js":"afma-sdk-a-v4.1.0","isu":"*********************************","format":"320x50_mb","net":"ed","app_name":"1.android.com.paladin.hilula","hl":"hd","u_h":569,"testing":1,"u_audio":1,"u_so":"p"});</script></head><body></body></html> 
07-18 01:55:54.187: INFO/Ads(8682): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=0&u_sd=1.5&slotname=**************&u_w=320&msid=com.paladin.hilula&cap=m&adtest=on&js=afma-sdk-a-v4.1.0&isu=*************************&format=320x50_mb&net=ed&app_name=1.android.com.paladin.hilula&hl=hd&u_h=569&testing=1&u_audio=1&u_so=p&output=html&region=mobile_app&u_tz=-180&ex=1&client_sdk=1", "afmaNotifyDt": "null"> 
07-18 01:56:15.288: WARN/Ads(8682): IOException connecting to ad url. 
07-18 01:56:15.288: WARN/Ads(8682): java.net.SocketTimeoutException: Connection timed out 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method) 
07-18 01:56:15.288: WARN/Ads(8682):  at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.net.Socket.connect(Socket.java:983) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267) 
07-18 01:56:15.288: WARN/Ads(8682):  at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205) 
07-18 01:56:15.288: WARN/Ads(8682):  at b.a(Unknown Source) 
07-18 01:56:15.288: WARN/Ads(8682):  at b.doInBackground(Unknown Source) 
07-18 01:56:15.288: WARN/Ads(8682):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
07-18 01:56:15.288: WARN/Ads(8682):  at java.lang.Thread.run(Thread.java:1019) 
07-18 01:56:15.296: INFO/Ads(8682): onFailedToReceiveAd(A network error occurred.) 

我得到的URL,但不能表现出来。

在清单:

<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"/> 

中的.java:

// Create the adView 
    AdView adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID); 
    // Lookup your LinearLayout assuming it’s been given 
    // the attribute android:id="@+id/mainLayout" 
    RelativeLayout layout = (RelativeLayout)findViewById(R.id.rlayout); 
    // Add the adView to it 
    layout.addView(adView); 
    // Initiate a generic request to load it with an ad 
    AdRequest r = new AdRequest(); 
    r.setTesting(true); 
    r.addTestDevice("*****************************"); 

    adView.loadAd(r); 

回答

0

AdMob的服务器(像任何高容量服务器)可以花费太长的时间有时做出回应。按照预期的行为来设计失败就好了。

如果你觉得还有比这更多的东西。发布你所看到的,让你觉得别的东西可能正在发生。

+0

问题是,我没有看到任何可以给我提供有关发生的事情的任何线索...... 在我的AdMob帐户中。我可以看到有关获取广告请求的绿色指示。 当我把我收到的网址,我在我的浏览器中得到一个测试广告...但在设备中没有,甚至没有空白的AdView。 我已经在少数设备和少量网络中测试过它... –

+0

哪个版本的AdMob? – mbarnes

+0

GoogleAdMobAdsSdk-4.1.0.jar –

8

手机上的/ etc/hosts文件已将别名r.admob.com设置为127.0.0.1。当我在手机上使用闪存ROM时,发生了这种情况 - ROM定义了一大堆这样的条目,所以我永远不会收到广告。在测试我自己的支持广告的应用程序之前,这是非常棒的:-)

编辑您的/ etc/hosts并取出该条目。

+0

非常感谢你;在十亿年内我无法想象我自己会想到这一点! – Ipsquiggle