Android AdMob via MoPub-没有足够的空间显示广告

Android AdMob via MoPub-没有足够的空间显示广告,android,admob,mopub,Android,Admob,Mopub,我不知道为什么会发生这种事,这让我发疯。长话短说,在我通过MoPub使用的所有广告网络中,AdMob似乎是唯一一个不显示广告的网络,声称它没有足够的空间。在MoPub,我有一个手机广告单元和一个平板电脑广告单元。以下是具体的日志: 02-10 09:44:44.094: I/Ads(9363): Request scenario: Online server request. 02-10 09:44:50.114: D/webviewglue(9363): nativeDestroy view:

我不知道为什么会发生这种事,这让我发疯。长话短说,在我通过MoPub使用的所有广告网络中,AdMob似乎是唯一一个不显示广告的网络,声称它没有足够的空间。在MoPub,我有一个手机广告单元和一个平板电脑广告单元。以下是具体的日志:

02-10 09:44:44.094: I/Ads(9363): Request scenario: Online server request.
02-10 09:44:50.114: D/webviewglue(9363): nativeDestroy view: 0x678b8418
02-10 09:44:50.124: I/Ads(9363): onReceiveAd()
02-10 09:44:50.124: D/MoPub(9363): Google AdMob load succeeded. Showing ad...
02-10 09:44:50.124: D/MoPub(9363): adLoaded
02-10 09:44:50.124: D/MoPub(9363): Tracking impression for native adapter.
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823>
02-10 09:44:50.144: W/Ads(9363): Not enough space to show ad! Wants: <969, 119>, Has: <800, 1073741823>

有人知道发生了什么事吗

出现错误是因为Nexus 7在纵向模式下的728x90 dp广告太大,只有600 dp宽。我无法想象其他网络如何使728x90图像适合600x90,除非他们缩小高度以保持纵横比。AdMob不会像那样缩放广告,而是抛出此警告


平板电脑广告只能有一个尺寸,这听起来像是一个Mopub限制。我不熟悉Mopub的前端设置,但也许你可以制作一个小尺寸的7人广告“平板电脑,并在运行时检查屏幕宽度以确定显示哪个广告

您应该在MoPub中创建一个320x50 ad单元和一个728x90 ad单元,检测设备的宽度,然后根据设备的宽度有条件地启动它们

如果屏幕宽度小于728像素,则关闭320x50 ad单元


如果更大,请使用排行榜广告单元。

我在Nexus 7上遇到了同样的问题。我目前正在使用Eclipse Juno,Service Release 1。在这个版本中有@dimension/。。。 自动添加到xml布局文件的引用

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   ...
   ...
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   ...
   ...

此错误的原因:

您试图显示广告的视图将从父视图中删除。 确信

 <LinearLayout
      android:id="@+id/layoutAdmobGame"
      android:layout_width="wrap_content"
      android:layout_height="52dp"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:background="@android:color/transparent"
      android:gravity="center_horizontal"
      android:orientation="vertical" >
</LinearLayout>


这在其父视图中,并没有被删除

愚蠢的问题,但它有多少空间?如果它没有969x119,它就不会显示。根据日志,水平方向有800个(不够),垂直方向有一些随机溢出。记录
getWidth()
getHeight()
揭示了什么?为了澄清这一点,AdMob比其他网络更挑剔。其他人仍会提供该广告,并让该应用程序对其进行缩放。AdMob希望更严格地遵守他们的规则/指导原则。我知道它没有足够的空间,但对于横幅广告,我不明白它为什么要求这么大的广告。在MoPub中,我将平板电脑广告设置为728x90。这是我唯一能控制的。对于这么大的东西,我想我永远不会有足够的空间,可能是在10英寸的平板电脑上,但不是在7英寸的平板电脑上。您可能还需要查看可用空间,可能还需要为“大,但不是AdMob大”平板电脑设置单独的广告单元。我同意这很糟糕,但我们这些可怜的开发人员对广告的控制力太大了。AdMob是这里的异类,所以最坏的情况是我可以摆脱它,尝试另一个网络。当然,我总是可以将广告单元设置为一个普通的350x50,这是我一直在考虑的事情,不那么麻烦。谢谢你的建议。我可以想象是这样的。其他广告无法缩放,广告无法在屏幕上显示。我知道我不应该允许这样,但正如你所说,MoPub只允许一种尺寸,这是一种耻辱。无论如何,我已经缩小了尺寸,从现在起,728x90广告将只在10英寸平板电脑上显示,350x50手机广告将在nexus 7上显示。不是很理想,但是很好。我的下一个问题是弄明白为什么点击千禧一代的广告毫无用处。一个又一个问题!七“平板电脑,更合适的尺寸是468x60。我有点惊讶Mopub没有提供这种服务。回复:千禧一代,我碰巧也有一个可能的解释。您可能正在使用API 17或18的设备上进行测试。他们有一些问题,在API 16之后点击他们的广告什么也做不了。是的,我的Nexus7是API 17设备。这不是我的终点,这让我松了一口气。谢谢你的帮助。是的,这是我最初的想法,但我发现大x大条件更容易。在调试这些问题时,我学会了如何获取设备的屏幕宽度,并在其上编写if语句,以便更新代码。我刚刚意识到,即使这样也行不通,因为admob要求设备宽度为969。我可以让它保持原样,或者叫它,这样如果宽度超过970,它就会显示平板广告。7英寸选项卡的设备宽度将超过728,因此同样的问题也会发生。就是这样!谢谢
 <LinearLayout
      android:id="@+id/layoutAdmobGame"
      android:layout_width="wrap_content"
      android:layout_height="52dp"
      android:layout_alignParentBottom="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentRight="true"
      android:background="@android:color/transparent"
      android:gravity="center_horizontal"
      android:orientation="vertical" >
</LinearLayout>