使用AdMob SDK时收到广告时出错

时间:2013-08-16 12:49:49

标签: android admob

我创建了一个带有webview的应用程序,用于显示AdMob。我使用以下代码。

private AdView adView;  
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.activity_main);
    LinearLayout layout = (LinearLayout) findViewById(R.id.linearlayout1);
    adView = new AdView(this, AdSize.BANNER, "/6253334/dfp_example_ad"); 
    View view = addHome(this,"https://www.google.co.in/");
    layout.addView(view,new LinearLayout.LayoutParams(200, 100));
    final AdRequest adRequest = new AdRequest();   
    adRequest.addTestDevice("1CD0A829B8C49C9F7590DD3B4C5EC553");
    adRequest.setTesting(true);
    setContentView(layout);
    new Thread(){
        public void run() {
            Looper.prepare();               
            adView.loadAd(adRequest);                
        };
    }.start();
} 

我总是收到 onFailedToReceiveAd(发生网络错误)错误,而不是收到广告。

1 个答案:

答案 0 :(得分:1)

您是否已将 INTERNET权限添加到您的清单文件中,确保设备实际可以访问互联网

<uses-permission android:name="android.permission.INTERNET" /> 

手机上的其他应用程序是否可以访问互联网?我的意思是,如果其他应用程序能够访问互联网,您是否测试过?也许这不是您的应用程序的问题,但通常无法以任何理由访问互联网。

此外,我在上面的代码中看到的内容:

您正在呼叫&#34; layout = findViewById(...)&#34;甚至在调用&#34; setContentView(...)&#34;。之前调用layout.addView()时实际上会导致Nullpointer异常。

您也可以尝试使用此代码(在onCreate()方法中):

   setContentView(R.layout.yourlayout);

   AdView ad = new AdView(this, AdSize.SMART_BANNER, "yourid");

   LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout1);

   if (ll != null) {
      ll.addView(ad);
   }

   ad.loadAd(new AdRequest());