我今天收到了来自AdMob的电子邮件说:
更改为原生广告政策:原生广告需要MediaView才能呈现视频或主要图片资源.为了帮助您更轻松地提供更好的广告体验,从10月29日开始,原生广告将要求MediaView呈现视频或主要图片资源.不符合此日期的广告单元将停止投放广告,这可能会影响您的广告收入.
我在我的Android应用程序中尝试了这一点,删除了单独的图像处理ImageView和视频MediaView,但我发现MediaView没有根据显示的图像高度调整视图的高度.
在Google的这个代码示例示例中,使用了固定的高度和宽度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"/>
Run Code Online (Sandbox Code Playgroud)
这就是我所需要的,并期望它看起来像使用 wrap_content
在之前的情况下,我们可以使用ImageView单独渲染图像,该wrap_content值正确地调整了图像的大小.
有人有解决方法吗?如何在没有硬编码MediaView高度的情况下遵循新的Google要求?
我完整的代码可以发现在这里,在GitHub上我的演示应用程序.