如何在请求广告时让AdView"占用"空间?(机器人)

Kak*_*oin 14 android admob banner-ads android-layout adview

我正在使用适用于Android的Google AdMob Ads 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> 
Run Code Online (Sandbox Code Playgroud)

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

总结一个问题:即使在请求广告时,如何(正确)使AdView"占用"空间?

先感谢您!

mar*_*tom 6

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

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

一旦您知道您将请求的横幅类型,您就可以在adSize属性上声明它并使用layout_widthlayout_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"/>
Run Code Online (Sandbox Code Playgroud)

您将 ad_banner_height 设置为以下值:

values/dimens/ad_banner_height --> 32dp
values-h400dp/dimens/ad_banner_height --> 50dp
values-h720dp/dimens/ad_banner_height --> 90dp
Run Code Online (Sandbox Code Playgroud)

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


小智 5

你有没有尝试过:

 <com.google.ads.AdView android:id="@+id/adview" 
                     android:layout_width="320dip" 
                     android:layout_height="50dip" 
                     ads:adUnitId="xxxxxxxxxxx" 
                     ads:adSize="BANNER"/> 
Run Code Online (Sandbox Code Playgroud)

我使用AdWhirl为我提供广告,我拥有的方式是固定视图与固定尺寸相似.看起来你已将它设置为包装内容,使视图在没有任何内容时消失.尝试一下,让我知道它是如何工作的.

  • 我希望有一个解决方案,不涉及硬编码大小的布局:-( (3认同)