【发布时间】:2019-02-05 11:04:06
【问题描述】:
我今天收到了一封来自 AdMob 的电子邮件:
更改原生广告政策:原生广告将要求 MediaView 渲染视频或主图像资产。努力帮助您交付 更轻松更好的广告体验,从 10 月 29 日开始,原生广告 将需要 MediaView 来呈现视频或主图像资产。广告 在此日期之前不合规的单位将停止投放广告,这可能 影响您的广告收入。
我在我的 Android 应用程序中尝试了这一点,删除了使用 ImageView 的图像和使用 MediaView 的视频的单独处理,但我发现 MediaView 没有根据图像的高度调整视图的高度显示。
在来自 Google 的 this 代码实验室示例中,使用了 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"/>
This is what I am currently getting from the above code
This is what I need and expect it to look like from using wrap_content
在之前我们能够使用 ImageView 单独渲染图像的情况下,wrap_content 值正确地调整了图像的大小。
有没有人可以解决这个问题?如何在不对MediaView 的高度进行硬编码的情况下遵循新的 Google 要求?
我的完整代码可以在我在 github 上的演示应用程序中找到 here。
【问题讨论】:
标签: android admob google-dfp native-ads mediaview