我是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。
答案 0 :(得分:6)
如果您有错误,那么您的代码是正确的。 Admob没有为您的应用展示任何广告(您所在的国家/地区,您的广告类型是决定因素)。
如果您想在测试模式下测试广告的行为,请看一下此链接:
https://developers.google.com/mobile-ads-sdk/docs/admob/additional-controls#testmode
编辑:如果您刚刚创建了自己的Admob帐户,可能需要一些时间和一些要求才能投放第一批广告。 我通过使用横幅的自定义大小看到人们也有这个错误,所以一定要检查:
https://developers.google.com/mobile-ads-sdk/docs/admob/intermediate#play