- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用适用于 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/
我正在尝试将 Google Admob 合并到我的 android 应用程序中。我已按照 https://developers.google.com/admob/android/quick-start
我有一个画廊应用程序,有一些类别:动物,花卉......我创建了一个 Activity 的每个画廊,所有画廊中的这个 Activity 具有相同的内容: onCreate: tSpeak = new
我正在尝试在我的 Activity 中通过 admob 制作广告,它工作正常,但在移动一些东西后,我出现了这个错误。 代码如下:第一次遇到这种情况,重启eclipse也没用。 java.lang.Cl
我正在开发一个 Android 应用程序,但在我添加 AdView 后它显示错误 Error:(23, 31) No resource found that matches the given nam
我在我的应用程序中使用 adview 来测试某些健康状况,但显示的广告与状况或健康问题完全无关。由于制药和健康行业的广告很多,我确信应该有“匹配”的广告——我的应用程序似乎没有调用它们! 有没有办法“
我有一个带有 View 和导航栏的导航 Controller 。 我想在导航栏和 View 之间插入一个 AdView(我正在使用 AdWhirl)。 AdView 应该向下滑动并将 View 向下推
我试图在执行 Activity 时在 AdsView 下方放置一个按钮 - download_btn。
我正在尝试将 AdView 放在我的应用程序的底部。但是,当我测试我的应用时,我没有看到广告,也没有看到 AdView。 在我的 MainActivity 中,我用 2 个 fragment 替换 2
我有: @Override public void onActivityCreated( Bundle bundle ) { super.onActivityC
我想在我的应用程序中包含一个 admob 横幅,但我遇到了这个奇怪的错误。非常感谢任何帮助。 这是xml代码 在 Activity 中,我写了如下代码 adview = (AdView)findVi
我有一个 Surfaceview 和一个 AdView,我是这样画 Adview 的: g=new GameView(this ); setContentView(R.layout.a
我的应用程序有一些“GameOver” Activity ,游戏结束时会调用该 Activity 。此 Activity 包含它自己的 AdView。现在我的问题是,每次玩家输掉游戏并且调用此 Act
我想在这个适配器的第二个位置添加一个广告 View 。我必须为此改变什么?在过去的两个小时里,我尝试了很多。我可以在加载列表后插入吗? 这是我的适配器代码: public class FeedsAda
在 XML 布局中,一切看起来都很完美。当我使用模拟器或真实设备时,adView不可见。我尝试为 adView 设置高度,例如 200 dp。然后 adView 就可见了。但是,当我为 adView
我在我的应用程序中使用了一个广告 View ,想知道何时有人点击了该广告 View !我该怎么做?onclicklistener 似乎不起作用。 最佳答案 你可以这样设置监听器: adView.set
我在 Layout 的 XML 中定义了一个 AdView,如果用户购买了应用程序的无广告版本,我想让它消失。 我在做的是 if(userhaspurchased){ if (mAdView
我正在使用 AdView 和 LeakCanary。承载 adView 的 Fragment 在 onDestroy 中调用 adView.destroy(),但 LeakCanary 显示承载该 F
我是 Android 开发的初学者。我刚刚发布了一个应用程序,但发现了一些问题,因此我想通过创建一个新的 Android 项目来纠正这些问题,该项目的包名称与已发布的应用程序的包名称相同。但是,一旦我
我想在我的应用程序中添加 AdMob,但在我的应用程序中找不到 AdView 类 build.gradle ... dependencies { api ('com.google.android
我最近在我的应用程序中添加了一个广告 View 。但dint对admob一无所知。我收到错误,因为我没有将其与 admobId 链接。所以我从布局中删除了广告 View 。但同样的错误又来了。我认为
我是一名优秀的程序员,十分优秀!