【发布时间】:2014-01-17 15:18:27
【问题描述】:
我是 AdMob 的新手。起初,我正在尝试使用不同类型的广告创建一个测试应用。 我使用真正的 ad_unit_id 和 nexus 4 进行测试。
我为所有活动使用 1 个布局 xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/empty_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
当我使用横幅广告创建简单的活动时,它工作正常。活动代码:
public class AdBannerActivity extends Activity {
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ad_empty);
adView = new AdView(this, AdSize.SMART_BANNER, getString(R.string.adUnitId));
adView.setAdListener(this);
LinearLayout layout = (LinearLayout) findViewById(R.id.empty_layout);
layout.addView(adView);
adView.loadAd(new AdRequest());
}
@Override
public void onDestroy() {
if (adView != null) {
adView.destroy();
}
super.onDestroy();
}
}
当我尝试使用全屏广告创建活动时,出现错误消息:
Ad request successful, but no ad returned due to lack of ad inventory.
活动代码:
public class AdInterstitialActivity extends Activity implements AdListener {
private InterstitialAd interstitial;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ad_empty);
interstitial = new InterstitialAd(this, getString(R.string.adUnitId));
interstitial.setAdListener(this);
AdRequest adRequest = new AdRequest();
interstitial.loadAd(adRequest);
}
@Override
public void onReceiveAd(Ad ad) {
if (ad == interstitial) {
interstitial.show();
}
}
@Override
public void onDismissScreen(Ad ad) {
}
@Override
public void onFailedToReceiveAd(Ad ad, ErrorCode error) {
Log.e("AdTest", "Error code: " + error);
}
@Override
public void onLeaveApplication(Ad ad) {
}
@Override
public void onPresentScreen(Ad ad) {
}
}
我做错了什么? 如何解决这个问题?
解决方案:在 AdMob 帐户中为插页式广告创建新的 ad_unit_id。
【问题讨论】: