新的admob Express Native广告失败,出现IllegalStateException



我一直在尝试将express原生广告集成到我的应用程序中。在express原生广告文档中,我读到当使用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等。

我的实现有什么问题吗?

干杯

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

<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"/>

您只能通过编程方式进行设置。以下是文档摘录:

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

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

相关内容

最新更新