2011-03-20 65 views
5

因此,我一直试图在我的应用中实施AdMob API几天,而且我基本上已经复制并粘贴了提供的基本示例代码。这似乎是工作,但我不断收到onFailedToReceiveAd(A network error occurred).Response is null or zero length.AdMob响应消息为空或零长度

这里是我的清单文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="ragingsoftware.android.AdsTest" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="3" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <activity android:name=".MainActivity" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="com.google.ads.AdActivity" 
      android:configChanges="keyboard|keyboardHidden|orientation"/> 

</application> 
</manifest> 

这是我的主要布局的xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/LinearLayoutMain"> 
<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/hello" 
/> 
<LinearLayout android:id="@+id/linearLayout1" android:layout_height="wrap_content" android:layout_width="match_parent"></LinearLayout> 
</LinearLayout> 

这里是我的活动代码:

private void initAds() { 
    // Create the adView 
    AdView adView = new AdView(this, AdSize.BANNER, "XXXXXXXXXXXXXXX"); 
    // Lookup your LinearLayout assuming it’s been given 
    // the attribute android:id="@+id/mainLayout" 
    LinearLayout layout = (LinearLayout)findViewById(R.id.LinearLayoutMain); 
    // Add the adView to it 
    layout.addView(adView); 
    // Initiate a generic request to load it with an ad 
    adView.loadAd(new AdRequest()); 
} 

最后但并非最不重要的logcat:

03-20 00:48:37.569: INFO/Ads(12511): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"msid":"ragingsoftware.android.WiFiScheduler","hl":"en","preqs":0,"u_so":"p","slotname":"a14d83d19c4eaef","js":"afma-sdk-a-v4.0.2","app_name":"4.0.2.android.ragingsoftware.android.WiFiScheduler","isu":"358ABB21689377B8D76F4A16B987E097","u_audio":1,"u_w":320,"format":"320x50_mb","u_sd":1.0,"net":"ed","u_h":480});</script></head><body></body></html> 
03-20 00:48:39.059: INFO/Ads(12511): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?msid=ragingsoftware.android.WiFiScheduler&hl=en&preqs=0&u_so=p&slotname=a14d83d19c4eaef&js=afma-sdk-a-v4.0.2&app_name=4.0.2.android.ragingsoftware.android.WiFiScheduler&isu=358ABB21689377B8D76F4A16B987E097&u_audio=1&u_w=320&format=320x50_mb&u_sd=1&net=ed&u_h=480&output=html&region=mobile_app&u_tz=240&ex=1&client_sdk=1", "afmaNotifyDt": "null"> 
03-20 00:48:42.599: INFO/Ads(12511): AdLoader timed out while getting the HTML. 
03-20 00:48:42.599: INFO/Ads(12511): onFailedToReceiveAd(A network error occurred.) 
03-20 00:48:42.619: INFO/Ads(12511): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"msid":"ragingsoftware.android.WiFiScheduler","hl":"en","preqs":1,"u_so":"p","slotname":"a14d83d19c4eaef","js":"afma-sdk-a-v4.0.2","app_name":"4.0.2.android.ragingsoftware.android.WiFiScheduler","isu":"358ABB21689377B8D76F4A16B987E097","u_audio":1,"u_w":320,"format":"320x50_mb","u_sd":1.0,"net":"ed","u_h":480});</script></head><body></body></html> 
03-20 00:48:43.179: INFO/Ads(12511): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?msid=ragingsoftware.android.WiFiScheduler&hl=en&preqs=1&u_so=p&slotname=a14d83d19c4eaef&js=afma-sdk-a-v4.0.2&app_name=4.0.2.android.ragingsoftware.android.WiFiScheduler&isu=358ABB21689377B8D76F4A16B987E097&u_audio=1&u_w=320&format=320x50_mb&u_sd=1&net=ed&u_h=480&output=html&region=mobile_app&u_tz=240&ex=1&client_sdk=1&askip=1", "afmaNotifyDt": "null"> 
03-20 00:48:47.630: INFO/Ads(12511): AdLoader timed out while getting the HTML. 
03-20 00:48:47.649: INFO/Ads(12511): onFailedToReceiveAd(A network error occurred.) 
03-20 00:48:47.869: INFO/Ads(12511): Response message is null or zero length: 
03-20 00:48:48.119: INFO/Ads(12511): Response message is null or zero length: 
03-20 00:50:00.219: INFO/Ads(12511): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"msid":"ragingsoftware.android.WiFiScheduler","hl":"en","preqs":2,"u_so":"p","slotname":"a14d83d19c4eaef","js":"afma-sdk-a-v4.0.2","app_name":"4.0.2.android.ragingsoftware.android.WiFiScheduler","isu":"358ABB21689377B8D76F4A16B987E097","u_audio":1,"u_w":320,"format":"320x50_mb","u_sd":1.0,"net":"ed","u_h":480});</script></head><body></body></html> 
03-20 00:50:00.219: INFO/Ads(12511): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"msid":"ragingsoftware.android.WiFiScheduler","hl":"en","preqs":2,"u_so":"p","slotname":"a14d83d19c4eaef","js":"afma-sdk-a-v4.0.2","app_name":"4.0.2.android.ragingsoftware.android.WiFiScheduler","isu":"358ABB21689377B8D76F4A16B987E097","u_audio":1,"u_w":320,"format":"320x50_mb","u_sd":1.0,"net":"ed","u_h":480});</script></head><body></body></html> 
03-20 00:50:00.909: INFO/Ads(12511): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?msid=ragingsoftware.android.WiFiScheduler&hl=en&preqs=2&u_so=p&slotname=a14d83d19c4eaef&js=afma-sdk-a-v4.0.2&app_name=4.0.2.android.ragingsoftware.android.WiFiScheduler&isu=358ABB21689377B8D76F4A16B987E097&u_audio=1&u_w=320&format=320x50_mb&u_sd=1&net=ed&u_h=480&output=html&region=mobile_app&u_tz=240&ex=1&client_sdk=1&askip=2", "afmaNotifyDt": "null"> 
03-20 00:50:00.909: INFO/Ads(12511): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?msid=ragingsoftware.android.WiFiScheduler&hl=en&preqs=2&u_so=p&slotname=a14d83d19c4eaef&js=afma-sdk-a-v4.0.2&app_name=4.0.2.android.ragingsoftware.android.WiFiScheduler&isu=358ABB21689377B8D76F4A16B987E097&u_audio=1&u_w=320&format=320x50_mb&u_sd=1&net=ed&u_h=480&output=html&region=mobile_app&u_tz=240&ex=1&client_sdk=1&askip=2", "afmaNotifyDt": "null"> 
03-20 00:50:05.248: INFO/Ads(12511): AdLoader timed out while getting the HTML. 
03-20 00:50:05.249: INFO/Ads(12511): onFailedToReceiveAd(A network error occurred.) 
03-20 00:50:05.248: INFO/Ads(12511): AdLoader timed out while getting the HTML. 
03-20 00:50:05.249: INFO/Ads(12511): onFailedToReceiveAd(A network error occurred.) 
03-20 00:50:05.509: INFO/Ads(12511): Response message is null or zero length: 

我一直在Google上搜索几天,无法找到答案。我会很感激任何帮助。

+0

也许你是在屏蔽广告? – 2011-03-23 22:16:09

回答

0

乍一看,我认为您在清单中缺少由AdMob分配的应用程序发布者ID。您需要添加元数据字段是这样的:

<meta-data android:value="ADMOB_ID" android:name="ADMOB_PUBLISHER_ID" />

ADMOB_ID是AdMob的分配ID。

+0

我使用的SDK不同,但我认为“XXXXXXXXXXXXXXX”是他的ID。 – 2011-03-20 15:44:58

+0

我按照您的建议添加了,而且我仍然看到我的原始帖子中描述的错误消息。我也看到这些: 'AdLoader在获取HTML时超时' 和 'BufferedReader构造函数中使用的默认缓冲区大小。如果需要8k字符的缓冲区,最好是明确的。' – RagingSoftware 2011-03-20 15:58:12

+0

您可以忽略缓冲区大小相关的消息 - 其原因在某些其他区域中可以定义。 – 2011-03-20 16:31:02

0

我得到了相同的错误为Android < 2.0,但它适用于Android> 2.0。我目前正在模拟器上测试。 Admob SDK应该与Android 1.5兼容,但它看起来不像!

1

您必须将测试模式设置为true才能在模拟器上显示测试广告。

LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout); 
AdView adView = new AdView(this, AdSize.BANNER, " a14e01a2c440ee1"); 
layout.addView(adView); 
AdRequest request = new AdRequest(); 
**request.setTesting(true);**  
adView.loadAd(request); 
0

我为Android新功能,我的回答可能不帮助你,但按我的知识AdMob SDK的发送数的时间间隔后添加请求,这样你们可以与AdWhirl相

https://www.adwhirl.com/doc/android/AdWhirlAndroidSDKSetup.html

的尝试对于AdWhirl中Android SDK中通过多达四个的移动广告网络整合琐碎最大化您的应用程序的广告收入:

1)的AdMob 2)谷歌AdSense移动应用广告 3 )Millennial Media 4)ZestADZ