【发布时间】:2013-02-10 21:18:09
【问题描述】:
我不知道为什么会这样,这让我发疯。长话短说,在我通过 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 上进行测试。
我使用的其他网络是 LeadBolt 和 Millennial。他们在同一个空间中很好地展示横幅广告。
我的 java 代码用于选择要展示的广告单元(手机或平板电脑,取决于屏幕尺寸):
//Advert if statement
Configuration config = getResources().getConfiguration();
if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_LARGE) {
//Tablet
mAdViewTabletLarge = (MoPubView) findViewById(R.id.LargeAdvert);
mAdViewTabletLarge.setAdUnitId("id here");
mAdViewTabletLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
mAdViewTabletLarge.loadAd();
}
else if ((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) ==
Configuration.SCREENLAYOUT_SIZE_XLARGE) {
//Tablet
mAdViewTabletXLarge = (MoPubView) findViewById(R.id.LargeAdvert);
mAdViewTabletXLarge.setAdUnitId("id here");
mAdViewTabletXLarge.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
mAdViewTabletXLarge.loadAd();
}
else {
//Phone
mAdViewPhone = (MoPubView) findViewById(R.id.LargeAdvert);
mAdViewPhone.setAdUnitId("id here");
mAdViewPhone.setVisibility(Application.getAdVisibiltyForEdition(this.getApplicationContext()));
mAdViewPhone.loadAd();
}
有人知道发生了什么吗?
【问题讨论】:
-
愚蠢的问题,但它有多少空间?如果它没有 969x119,它根本不会显示。根据日志,您有 800 个水平(不够),以及一些随机溢出的垂直数字。记录
getWidth()和getHeight()揭示了什么? -
澄清一下,AdMob 比其他网络更挑剔。其他人仍会投放广告并让应用程序对其进行缩放。 AdMob 希望更严格地遵守他们的规则/指南。
-
我知道它没有足够的空间,但是对于横幅广告,我不明白为什么它需要这么大的广告。在 MoPub 中,我将平板电脑广告设置为 728x90。这是我对它的唯一控制。对于这么大的东西,我想我永远不会有足够的空间,也许在 10 英寸平板电脑上但不是 7 英寸平板电脑。
-
没错,你可能不会,这取决于分辨率。您可能还想检查可用空间,并且可能有一个单独的广告单元用于“大型但不是 AdMob 大型”平板电脑。我同意这很糟糕,但我们这些可怜的开发者对广告的控制权只有这么多。
-
嗯,AdMob 是这里的异常,所以最坏的情况是我可以摆脱它并尝试另一个网络。当然,我总是可以将广告单元设置为正常的 350x50,这是我一直在考虑的,不那么具有侵入性等等。感谢您的建议。