Admob – 没有广告要显示

您好我尝试在Android手机上制作一些显示广告的示例程序,我尝试在v2.2的模拟器上测试它。代码中的所有内容似乎都很好,但调试器中的AdListener说:

响应消息为零或null;
onFailedToReceiveAd(没有要显示的广告)。

有什么方法可以成为我的错吗? 有没有人遇到同样的问题? inheritance人代码清单:

                

布局xml

     

和活动代码

 package com.AdTest; import com.google.ads.*; import com.google.ads.AdRequest.ErrorCode; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.LinearLayout; public class AdTest extends Activity implements AdListener{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout layout = (LinearLayout)findViewById(R.id.main); AdView adView = new AdView(this, AdSize.BANNER, "anonymouse"); // Unit ID is correct, I changed it on purpose while pasting here adView.setAdListener(this); layout.addView(adView); AdRequest request= new AdRequest(); adView.loadAd(request); } public void onFailedToReceiveAd(AdView adView) { Log.d("AdListener", "onFailedToReceiveAd"); } public void onFailedToReceiveRefreshedAd(AdView adView) { Log.d("AdListener", "onFailedToReceiveRefreshedAd"); } public void onReceiveAd(AdView adView) { Log.d("AdListener", "onReceiveAd"); } public void onReceiveRefreshedAd(AdView adView) { Log.d("AdListener", "onReceiveRefreshedAd"); } @Override public void onDismissScreen(Ad arg0) { // TODO Auto-generated method stub } @Override public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { Log.d("AdListener", "onFailedToReceiveAD"); } @Override public void onLeaveApplication(Ad arg0) { // TODO Auto-generated method stub } @Override public void onPresentScreen(Ad arg0) { // TODO Auto-generated method stub } @Override public void onReceiveAd(Ad arg0) { Log.d("AdListener", "Received succesfully"); } } 

我遇到了同样的问题

onFailedToReceiveAd(没有要显示的广告)。

由于某些原因,AdMob似乎没有为我们的应用发送广告内容。 即使我处于测试模式,仍然没有广告。

我在AdMob上创建自己的房子广告以validation我的申请。 这是一种比测试模式更容易开发的方法。

我在我的Activity上实现了AdListener并将其设置为AdView侦听器,然后添加了以下内容

  public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) { Log.d("AdMob", "Failed to receive an Ad. Requesting a new one..." + arg1); arg0.stopLoading(); arg0.loadAd(new AdRequest()); } 

我也有同样的问题。 所以我更改了代码以将测试模式设置为true,然后Admob测试广告开始在模拟器上显示。 在OnCreate()方法中尝试这个:

 LinearLayout layout = (LinearLayout)findViewById(R.id.main); AdView adView = new AdView(this, AdSize.BANNER, "anonymouse"); // Unit ID is correct, I changed it on purpose while pasting here adView.setAdListener(this); AdRequest request = new AdRequest(); request.setTesting(true); adView.loadAd(request); 

如果您在真实设备上运行此function但仍无法显示广告,那么我猜它可能与Admob填充率有关。

将测试模式更改为true。 请注意,在当天至少进行3次访问尝试之前,不会显示广告。

似乎最新的admob SDK 4.0.4不会在1.5设备上显示广告。

在模拟器中,它适用于1.6+,但不是1.5。

我认为这是来自AdSense的新交叉广告。 据我所知,SDK现在将webview包装为视图的可视组件,以便它可以发布不同types的广告。 仔细查看日志显示WebView.multitouch已启用 – 因为Apple不会支持多点触控(对于我们Java开发人员),因为Apple将玩具扔出婴儿车并拥有dummyspit(我知道他们相信只允许他们使用一次使用两个手指..)并且可能在webview上启用多点触控会导致内部exception并且视图永远不会被创建,因此无法从admob http服务器接收HTML回复。

另见此链接

1 /获取最新的SDK版本
2 /尝试使用您的发布商ID的admob演示
3 /在测试模式下尝试(这应该始终有效)
4 /尝试添加一些样本房屋广告(当没有其他广告可用时显示)
5 /尝试更改您的关键字

通常,admob会将详细错误打印到日志中(ID丢失,清单中缺少活动等)。

我已经完成了admob集成,它既可以在设备上运行,也可以在模拟器上运行。

所以,请尝试下面的代码:

我认为你必须从main.xml中删除textview

并尝试这个:

1)在你的浏览器中创建新的应用程序a / c 2)然后简单地用新的app替换以前app的id

试试兄弟。

我也遇到了这个问题。 您可以在加载前尝试自定义请求。 喜欢这个:

 AdRequest re = new AdRequest(); //re.setTesting(true); re.setGender(AdRequest.Gender.FEMALE); adview.loadAd(re); 

我把我的例子,apk文件和源代码放在这里,你可以尝试:

在Android应用中添加Google Admob