Admob在应用程序中无法显示(模拟器或设备)

3
我尝试添加admob,但是遇到了一些问题。 这是测试的代码,看起来没问题:
AdView adView = new AdView(this, AdSize.BANNER, pubID);
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);               // Emulator
adRequest.addTestDevice("TEST_DEVICE_ID"); 
adView.loadAd(adRequest);

并且这段代码包含pubID

AdView adView = new AdView(this, AdSize.BANNER, pubID);
adView.loadAd(new AdRequest());

我无法理解出了什么问题...只有admob没有显示,这就是全部...有人能帮助我解决这个问题吗? 问候,Peter。

UPD 哦,对不起。还有在清单文件中设置的所有设置(权限和广告活动)

upd logcat中来自admob的所有响应:

01-11 21:49:31.805: I/Ads(363): To get test ads on this device, call adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
01-11 21:49:33.405: I/Ads(363): adRequestUrlHtml: <html><head><script src="http://media.admob.com/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"preqs":0,"u_sd":1,"slotname":"a14f0d9ca22bc53","u_w":320,"msid":"activityM.activity.com","simulator":1,"cap":"m,a","js":"afma-sdk-a-v4.3.1","isu":"B3EEABB8EE11C2BE770B684D95219ECB","cipa":0,"format":"320x50_mb","net":"ed","app_name":"1.android.activityM.activity.com","hl":"en","u_h":480,"u_audio":4});</script></head><body></body></html>
01-11 21:49:41.714: I/Ads(363): Received ad url: <"url": "http://googleads.g.doubleclick.net:80/mads/gma?preqs=0&u_sd=1&slotname=a14f0d9ca22bc53&u_w=320&msid=activityM.activity.com&cap=m%2Ca&js=afma-sdk-a-v4.3.1&isu=B3EEABB8EE11C2BE770B684D95219ECB&cipa=0&format=320x50_mb&net=ed&app_name=1.android.activityM.activity.com&hl=en&u_h=480&u_audio=4&u_so=p&output=html&region=mobile_app&u_tz=0&ex=1&client_sdk=1&pto=0&jsv=1", "afmaNotifyDt": "null">
01-11 21:49:42.255: I/Ads(363): onFailedToReceiveAd(Ad request successful, but no ad returned due to lack of ad inventory.)

这是我在ddms中找到的所有内容。

2
你在manifest.xml文件中有入口吗?你检查了logcat吗?你在logcat中看到任何来自Admob的响应条目吗? - kosa
您的广告空间是否正确地放置在布局中?此外,您的应用程序是否具有互联网连接的权限? - C.d.
所有权限和设置都没问题,因为AdMob的测试版本运行得非常完美。 - Peter
2
从AdMob的官网获取/展示第一个响应需要一些时间,最多可能需要2分钟甚至更长时间。 - yorkw
所以伙计们,这是正常问题吗? - Peter
我在这里给出了答案:https://dev59.com/0LXna4cB1Zd3GeqPTfn_#57686663 - F_Z
2个回答

2

这个告诉了所有的事情。

01-11 21:49:42.255: I/Ads(363): onFailedToReceiveAd(广告请求成功,但由于缺乏广告库存而未返回广告。)

有时候会发生这种情况。因为某些原因,他们现在没有任何广告可以发送。当他们有库存时,它们最终会弹出来。不用担心,只需继续检查,它最终会弹出来。


所以...你的意思是这很正常吗?只需要等待...也许之后我就可以在我的应用程序中看到我的AdMob?只需要等待吗?(1分钟...1小时...还是1天:)) - Peter
如果在AdMob上创建了一个新的网站/应用程序,那么它可能需要多次请求和一些时间(可能是几天的数量级)才能开始提供实时广告。这是正常行为。 - Eric Leichtenschlag
如果您的应用在24小时内没有获取到广告,则需要2分钟才能最初接收到广告。 - user1132959
嘿,它能有多长?我只看到这个愚蠢的AdSense每1-5天只有一个:(。这对我来说是非常大的问题...总是出现这个错误“未能接收广告”:(( - Peter
我不太明白你的意思,但是如果你的应用程序在24小时内没有广告获取(比如没有人使用它),那么至少需要2分钟才能获取一个。 - user1132959

1

我有同样的问题。但我认为Google Admob FAQ中有答案https://developers.google.com/mobile-ads-sdk/kb/#whynoads

引用:

我认为我已经正确地实现了一切,那么为什么我没有看到广告呢?

尽管保持最高可能的填充率是我们的首要任务之一,但我们并不总是能够为每个广告请求提供广告。这在开发过程中特别常见,因为广告请求通常来自少数用户和设备,并且请求频率较低。当应用程序在AdMob上新注册时,可能需要一些时间和多个请求才能始终传递印象。一般情况下,开发人员发布应用程序后,从更多不同的用户群体中更频繁地收到广告请求,结果更加稳定。

注意:第一次AdMob看到您的发布者ID时,可能需要最多两分钟才能接收到广告,而此初始两分钟延迟将在应用程序未使用24小时后每次重复出现。

是的,Admob报告显示请求计数较低。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接