gpt4 book ai didi

android - 如何在请求广告时使 AdView "occupy"空间? (安卓)

转载 作者:可可西里 更新时间:2023-11-01 19:06:41 27 4
gpt4 key购买 nike

我正在使用适用于 Android 的 Google AdMob 广告 SDK 4.0.4

默认情况下,在加载广告之前,AdView 没有尺寸。如果您在广告上方或下方有按钮,这可能会导致问题。

如果广告在用户即将点击按钮的那一刻返回,则用户可能会意外点击广告。

在旧的 admob SDK 中,我使用 setGoneWithoutAd(false) 解决了这个问题。这样,即使广告尚未返回,空间也会保留。

在新的 SDK(Google Admob Ads SDK 4.0.4)中,我设法通过使用此快速修复:通过将广告放置在某种布局中来预留空间有宽度=“320dp”和高度=“50dp”

<LinearLayout 
android:layout_width="320dp"
android:layout_height="50dp" >
<com.google.ads.AdView android:id="@+id/adview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="xxxxxxxxxxx"
ads:adSize="BANNER"/>
</LinearLayout>

它有效,但我不确定这是否是一种正确的方法。(我会遇到著名的“没有足够的空间来展示广告!”问题吗?)

总结一下这个问题:如何(正确地)让 AdView 在请求广告时“占用”空间?

提前致谢!

最佳答案

首先,您必须确定所需的广告尺寸。有几个预定义的。

最容易使用的是 SMART_BANNER,它会调整其宽度以匹配当前屏幕宽度,对于屏幕高度 <=400、(>400 && <=720) 或 >720 dp,它的高度分别为 32、50 或 90 dp。

一旦您知道您将请求的横幅类型,您就可以在 adSize 属性上声明它并使用 layout_width layout_height 属性。

例如,对于 SMART_BANNER,您可以这样做:

<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="@dimen/ad_banner_height"
ads:adSize="SMART_BANNER"
ads:adUnitId="xxxxxxxxx"/>

您会将 ad_banner_height 设置为以下值:

values/dimens/ad_banner_height --> 32dp
values-h400dp/dimens/ad_banner_height --> 50dp
values-h720dp/dimens/ad_banner_height --> 90dp

对于其他横幅尺寸,请检查:https://developers.google.com/admob/android/banner#banner_sizes

关于android - 如何在请求广告时使 AdView "occupy"空间? (安卓),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5715798/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com