android - 如何获得当前屏幕配置的最佳 admob 尺寸?

标签 android size admob adview

背景

我希望在我的应用程序上使用 admob 显示广告,但我也希望在加载时(显示之前)或什至在没有互联网连接时显示一些内容。

问题

admob 的广告尺寸似乎有很多种,具体取决于您希望定位的屏幕(链接 here),但没有说明您应该使用什么来选择最佳尺寸。

例如,他们谈论 tablets ,但他们没有定义表格中的 tablet 是什么,是哪种类型。他们甚至没有解释每种广告类型的含义。

问题

给定一个特定配置的设备,我应该如何选择最佳的 adView 尺寸?

如果我使用 BANNER,它会一直显示吗?如果屏幕有足够的空间,它会自动选择其他的吗?

最佳答案

我针对四种不同的屏幕尺寸(小、普通、大、超大)使用不同的广告尺寸。 IMO 在大屏幕上为广告使用更多屏幕空间而在小屏幕上使用更少空间是有意义的,但这在很大程度上取决于应用程序以及您愿意用多少屏幕空间来换取更大的广告(更大的广告 =更高的收入)。因此,这实际上是在可用性和最大化广告收入之间找到适当平衡的问题。如果广告太大、太突兀,那么可用性就会受到影响,评级也会受到影响,下载量也会受到影响。如果广告非常小(超大屏幕上的 BANNER 尺寸真的非常小),用户甚至不会注意到并且可能不会点击它。

为了针对不同的屏幕尺寸使用不同的广告格式,我使用 include 标签来包含广告布局,我在布局文件夹 layout、layout-small、layout-large 和 layout-xlarge 中定义了它。因此,这些文件夹中的每一个都包含一个 ad.xml,并且它们具有不同的 admob:adSize 和 admob:adUnitId 标签。

如果广告未加载(例如没有网络),我还会在布局上保留空间。空间的尺寸是不同广告尺寸的尺寸: 横幅:320*50 IAB_BANNER:468*60 IAB_LEADERBOARD:728*90

我在 dimens.xml 文件中定义维度,这些文件位于 values、values-large 和 values-xlarge(small 在我的应用程序中也使用 BANNER)。尺寸可以在布局中的 layout_width 和 layout_height 标记中引用,如下所示:

android:layout_width="@dimen/admob_ad_width"
android:layout_height="@dimen/admob_ad_height"

本质上,您可以决定在何种设备上显示何种广告尺寸(Admob 将使用定义的广告尺寸,而不会覆盖您的配置)。我对小型和普通尺寸的屏幕使用 BANNER,对大型屏幕使用 IAB_BANNER,对超大屏幕使用 IAB_LEADERBOARD,但这取决于您。让 Admob 决定显示哪种尺寸的方法对大多数应用来说不是一个好的选择,因为它们应该充分利用屏幕空间,并且知道广告的大小在设计屏幕布局时有很大帮助。

关于android - 如何获得当前屏幕配置的最佳 admob 尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16268656/

相关文章:

java - 模拟构造函数以查看它是否抛出异常

java - 在 Java 中为多种对象类型创建方法

c - 通过指针的字符串(数组)容量

android - 没有足够的空间来展示广告!想要 : <480, 75>,有 : <454, 90>

java - 不确定如何理解 logcat 告诉我的错误

android - APN 设置更改

java - Admob 发布 ID 错误

android - 使用 Kotlin 将原生广告添加到 Flutter 项目

android - 为什么 Android Eclipse 会不断刷新外部文件夹并花费很长时间?

c# - 如何显式指定传递给函数的数组参数的大小