我创建了一个带有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(发生网络错误)错误,而不是收到广告。
答案 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());