今天我收到了一封来自 AdMob 的电子邮件,内容是:
更改原生广告政策:原生广告将要求 MediaView 呈现视频或主图像资源。为了帮助您更轻松地提供更好的广告体验,从 10 月 29 日开始,原生广告将需要 MediaView 来呈现视频或主图像资源。在此日期之前不合规的广告单元将停止投放广告,这可能会影响您的广告收入。
我在我的 Android 应用程序中尝试了这一点,删除了对图像ImageView
和视频的单独处理MediaView
,但我发现 MediaView 没有根据它显示的图像的高度调整视图的高度。
在Google 的这个codelab 示例中,使用了固定的高度和宽度MediaView
。我不能这样做,因为这个屏幕会响应屏幕尺寸,这会根据设备而变化。图像可以动态调整大小的事实是使用UnifiedNativeAds
预定义广告(例如横幅)的主要好处之一。
这就是我需要显示的方式MediaView
,使用match_parent
宽度和wrap_content
高度。
<com.google.android.gms.ads.formats.MediaView
android:id="@+id/ad_media"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
这就是我需要的,并期望它看起来像使用wrap_content
在之前我们能够使用 ImageView 单独渲染图像的情况下,该wrap_content
值正确地调整了图像的大小。
有没有人有解决方法?如何在不对MediaView
' 高度进行硬编码的情况下遵循新的 Google 要求?
我的完整代码可以在这里找到,在我在 github 上的演示应用程序中。