新的admob Express Native广告因IllegalStateException失败

时间:2016-05-20 21:01:41

标签: android android-layout admob native-ads

我一直在努力将快速原生广告整合到我的应用中。在快速原生广告文档中,我发现当使用FULL_WIDTH广告尺寸显示时,它们效果最佳。 我尝试将广告尺寸设置为FULL_WIDTH,但失败并显示IllegalStateException:

Caused by: java.lang.IllegalStateException: The ad size and ad unit ID must be set before loadAd is called.

这是我的xml代码:

<com.google.android.gms.ads.NativeExpressAdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="FULL_WIDTH"
ads:adUnitId="@string/native_ad_unit"/>

广告单元是正确的,它适用于其他广告尺寸,如320x150等。

我的实施有问题吗?

干杯

2 个答案:

答案 0 :(得分:19)

我找到了一个解决方案,如果你像这样使用它会起作用:

<com.google.android.gms.ads.NativeExpressAdView
 android:id="@+id/adView"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 ads:adSize="FULL_WIDTHx80"
 ads:adUnitId="@string/native_ad_unit"/>

答案 1 :(得分:1)

您只能以编程方式设置它。以下是文档的摘录:

发布商还可以在以编程方式为NativeExpressAdView创建AdSize时使用FULL_WIDTH常量。在这种情况下,广告将占据设备屏幕的整个宽度。

来源:https://firebase.google.com/docs/admob/android/native-express#nativeexpressadview