我已经检查过StackOverflow上的其他问题,但我的情况与其中任何一个都不匹配。我已经设置了单位大小和单位ID,只调用了一次构建。有什么问题?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_height="match_parent">
<com.google.android.gms.ads.AdView
android:id="@+id/topAdView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
ads:adUnitId="@string/topAdUnitID">
</com.google.android.gms.ads.AdView>
</RelativeLayout>
这是我的广告创建功能
public class TopAd extends Fragment {
private AdView topAdView;
@Override
public void onActivityCreated(Bundle bundle) {
super.onActivityCreated(bundle);
// Gets the ad view defined in layout/ad_fragment.xml with ad unit ID set in
// values/strings.xml.
topAdView = (AdView) getView().findViewById(R.id.topAdView);
topAdView.setAdSize(AdSize.SMART_BANNER);
// Create an ad request. Check logcat output for the hashed device ID to
// get test ads on a physical device. e.g.
// "Use AdRequest.Builder.addTestDevice("ABCDEF012345") to get test ads on this device."
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
// Start loading the ad in the background.
topAdView.loadAd(adRequest);
}
}
当我运行时,应用程序崩溃时出现错误“必须在调用loadAd之前设置广告尺寸和广告单元ID”行“topAdView.loadAd(adRequest);”。我做错了什么?
答案 0 :(得分:3)
以xml而不是代码来指定广告尺寸, 例如。
ads:adSize="BANNER"
并删除此行
topAdView.setAdSize(AdSize.SMART_BANNER);
希望它有所帮助。
干杯 -Aman