我有一个Android应用程序,需要通过AdMob的显示广告。 这里是我的日志:
1月7号至18号:55:53.116:信息/广告(8682):adRequestUrlHtml:LT; HTML&GT;&LT; HEAD&GT;&LT;脚本src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"$p$pqs":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>
一月7日至18日:55:54.187:信息/广告(8682):接收到的广告网址:&LT;网址: "http://r.admob.com:80/ad_source.php?$p$pqs=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®ion=mobile_app&u_tz=-180&ex=1&client_sdk=1", afmaNotifyDt:空&GT;
一月7日至18日:56:15.288:WARN /广告(8682):IOException异常连接到广告的URL。
一月7日至18日:56:15.288:WARN /广告(8682):java.net.SocketTimeoutException:连接超时
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.platform.OSNetworkSystem.connect(本机方法)
一月7日至18日:56:15.288:WARN /广告(8682):在dalvik.system.BlockGuard $ WrappedNetworkSystem.connect(BlockGuard.java:357)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
一月7日至18日:56:15.288:WARN /广告(8682):在java.net.Socket.connect(Socket.java:983)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
一月7日至18日:56:15.288:WARN /广告(8682):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
一月7日至18日:56:15.288:WARN /广告(8682):在BA(来源不明)
一月7日至18日:56:15.288:WARN /广告(8682):在b.doInBackground(来源不明)
一月7日至18日:56:15.288:WARN /广告(8682):在android.os.AsyncTask $ 2.call(AsyncTask.java:185)
一月7日至18日:56:15.288:WARN /广告(8682):在java.util.concurrent.FutureTask中$ Sync.innerRun(FutureTask.java:306)
一月7日至18日:56:15.288:WARN /广告(8682):在java.util.concurrent.FutureTask.run(FutureTask.java:138)
一月7日至18日:56:15.288:WARN /广告(8682):在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
一月7日至18日:56:15.288:WARN /广告(8682):在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:581)
一月7日至18日:56:15.288:WARN /广告(8682):在java.lang.Thread.run(Thread.java:1019)
一月7日至18日:56:15.296:信息/广告(8682):onFailedToReceiveAd(出现网络错误。)
我得到的网址,但不能表现出来。
在清单:
&LT;活动机器人:名称=com.google.ads.AdActivity
机器人:configChanges =键盘| keyboardHidden |定位/&GT;
&LT; /用途&gt;
&LT;使用-权限的Android:名称=android.permission.INTERNET对/&GT;
&LT;使用-权限的Android:名称=android.permission.ACCESS_NETWORK_STATE/&GT;
在的.java:
//创建AD浏览报
AD浏览报AD浏览报=新的AD浏览报(这一点,AdSize.BANNER,MY_AD_UNIT_ID);
//查找您的LinearLayout假设它是被赋予了
//属性机器人:ID =@ + ID / mainLayout
RelativeLayout的布局=(RelativeLayout的)findViewById(R.id.rlayout);
// AD浏览报给它添加
layout.addView(AD浏览报);
//初始化一个通用的请求与广告加载
AdRequest R =新AdRequest();
r.setTesting(真正的);
r.addTestDevice(********);
adView.loadAd(r)的;
解决方案
在/ etc / hosts文件你的手机上的文件有一个别名r.admob.com为127.0.0.1。我有当我用一闪而ROM在我的手机出现这种情况 - ROM的定义一大堆条目一样,所以我从来没有得到广告。这是伟大的,直到我在测试我自己的广告功能的应用程序: - )
编辑/ etc / hosts文件,并采取了该条目。
i have an android app that need to show ads by AdMob. here's my Log:
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®ion=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.)
i get the URL but cant show it.
in manifest:
<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"/>
in .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);
解决方案
The /etc/hosts file on your phone has aliased r.admob.com to 127.0.0.1. I had this occur when I used a flashed ROM on my phone -- the ROM defined a whole bunch of entries like that so I'd never get ads. Which was great until I was testing my own ad-enabled app :-)
Edit your /etc/hosts and take out that entry.