所以,几天来我一直在尝试在我的应用程序中实现 AdMob API,我基本上已经复制并粘贴了所提供的基本示例代码。它似乎工作正常,但我不断收到 onFailedToReceiveAd(发生网络错误)。 和 Response is null or zero length。
这是我的 list 文件:
<?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>
这是我的 Activity 代码:
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®ion=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®ion=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®ion=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®ion=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:
我已经用谷歌搜索了好几天了,找不到答案。如果有任何帮助,我将不胜感激。
最佳答案
您必须将测试模式设置为 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);
关于android - AdMob 响应消息为空或零长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5369189/
在我的Rails(2.3,Ruby1.8.7)应用程序中,我需要将字符串截断到一定长度。该字符串是unicode,在控制台中运行测试时,例如'א'.length,我意识到返回了双倍长度。我想要一个与编码无关的长度,以便对unicode字符串或latin1编码字符串进行相同的截断。我已经了解了Ruby的大部分unicode资料,但仍然有些一头雾水。应该如何解决这个问题? 最佳答案 Rails有一个返回多字节字符的mb_chars方法。试试unicode_string.mb_chars.slice(0,50)
我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123
我希望我的UserPrice模型的属性在它们为空或不验证数值时默认为0。这些属性是tax_rate、shipping_cost和price。classCreateUserPrices8,:scale=>2t.decimal:tax_rate,:precision=>8,:scale=>2t.decimal:shipping_cost,:precision=>8,:scale=>2endendend起初,我将所有3列的:default=>0放在表格中,但我不想要这样,因为它已经填充了字段,我想使用占位符。这是我的UserPrice模型:classUserPrice回答before_val
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我有一个驼峰式字符串,例如:JustAString。我想按照以下规则形成长度为4的字符串:抓取所有大写字母;如果超过4个大写字母,只保留前4个;如果少于4个大写字母,则将最后大写字母后的字母大写并添加字母,直到长度变为4。以下是可能发生的3种情况:ThisIsMyString将产生TIMS(大写字母);ThisIsOneVeryLongString将产生TIOV(前4个大写字母);MyString将生成MSTR(大写字母+tr大写)。我设法用这个片段解决了前两种情况:str.scan(/[A-Z]/).first(4).join但是,我不太确定如何最好地修改上面的代码片段以处理最后一种
在Ruby1.9.3(可能还有更早的版本,不确定)中,我试图弄清楚为什么Ruby的String#split方法会给我某些结果。我得到的结果似乎与我的预期相反。这是一个例子:"abcabc".split("b")#=>["a","ca","c"]"abcabc".split("a")#=>["","bc","bc"]"abcabc".split("c")#=>["ab","ab"]在这里,第一个示例返回的正是我所期望的。但在第二个示例中,我很困惑为什么#split返回零长度字符串作为返回数组的第一个值。这是什么原因呢?这是我所期望的:"abcabc".split("a")#=>["bc"
我的工作要求我为某些测试自动生成电子邮件。我一直在四处寻找,但未能找到可以快速实现的合理解决方案。它需要在outlook而不是其他邮件服务器中,因为我们有一些奇怪的身份验证规则,我们需要保存草稿而不是仅仅发送邮件的选项。显然win32ole可以做到这一点,但我找不到任何相当简单的例子。 最佳答案 假设存储了Outlook凭据并且您设置为自动登录到Outlook,WIN32OLE可以很好地完成此操作:require'win32ole'outlook=WIN32OLE.new('Outlook.Application')message=
我正在使用Ruby,我正在与一个网络端点通信,该端点在发送消息本身之前需要格式化“header”。header中的第一个字段必须是消息长度,它被定义为网络字节顺序中的2二进制字节消息长度。比如我的消息长度是1024。如何将1024表示为二进制双字节? 最佳答案 Ruby(以及Perl和Python等)中字节整理的标准工具是pack和unpack。ruby的packisinArray.您的长度应该是两个字节长,并且按网络字节顺序排列,这听起来像是n格式说明符的工作:n|Integer|16-bitunsigned,network(bi
目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里编辑 3.解析依赖到项目中