【问题标题】:Adwhirl + Millenial Media ads size - too longAdwhirl + Millenial Media 广告尺寸 - 太长
【发布时间】:2012-01-12 11:16:52
【问题描述】:

我在 Adwhirl 中展示广告时遇到了一些问题。

我正在那里展示 Millenial Media 和 Admob 广告。

Admob 看起来不错,但是当加载 MM 广告时,它看起来广告太长了。

我试图以某种方式修复它,但无法修复它。

这是我的 Adwhirl 的 Java 代码:

LinearLayout layout = (LinearLayout) findViewById(R.id.layout_main);

AdWhirlLayout adWhirlLayout = new AdWhirlLayout(this, "apid");
RelativeLayout.LayoutParams adWhirlLayoutParams = 
                 new RelativeLayout.LayoutParams(
                        LayoutParams.FILL_PARENT,
                        LayoutParams.WRAP_CONTENT);
int diWidth = 320;
int diHeight = 53;

float density = getResources().getDisplayMetrics().density;

adWhirlLayout.setMaxWidth((int)(diWidth * density + 0.5f));
adWhirlLayout.setMaxHeight((int)(diHeight * density + 0.5f));

layout.addView(adWhirlLayout, adWhirlLayoutParams);
layout.invalidate();

如果有人知道如何解决它,请帮忙。

编辑:

我正在开发 HTC Desire,还尝试在 xml 中创建 adwhirl 布局,但仍然是同样的问题;(

我尝试将 MM 布局添加到 xml 并使用参数 app:width="320" 它看起来不错。默认为 480,使用此值,广告看起来类似于 adwhirl 实施(太长)

xmlns:app="http://millennialmedia.com/android/schema"

<com.millennialmedia.android.MMAdView
android:id="@+id/mmadview" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
app:apid="28911"
app:adType="MMBannerAdTop"
app:refreshInterval="30"
app:accelerate="true"
app:ignoreDensityScaling="false"
app:age="46"
app:gender="female"
app:zip="90210"
app:income="85000"
app:keywords="moms,shopping,groceries"
app:ethnicity="hispanic"
app:orientation="straight"
app:marital="married"
app:children="2"
app:education="college"
app:politics="libertarian"
app:height="60"
app:width="480" /> <------------------------------------HERE 

也许可以在 adwhirl 布局中设置此值?

编辑 2:

480x800 设备的分辨率似乎存在问题。我在 QVGA 320x240 模拟器上调试了应用程序,广告看起来很不错。

编辑 3:

它看起来像链接中的图片:Too long MM ad in Adwhirl Layout

当广告出现时,我可以看到水平滚动条,我认为我只能看到这些广告的 2/3

【问题讨论】:

  • 我没有使用 AdWhirl,但我也遇到了同样的问题,广告太大了...您找到解决方案或联系 Millennial Media 了吗?

标签: android admob ads adwhirl


【解决方案1】:

我想知道尝试计算宽度和高度是否有问题。试试这个基本的 sn-p:

LinearLayout layout = (LinearLayout) findViewById(R.id.layout_main);
AdWhirlLayout adWhirlLayout = new AdWhirlLayout(this, "apid");
layout.addView(adWhirlLayout);

更新:

您还可以通过 XML 创建 AdWhirlLayout。

<com.adwhirl.AdWhirlLayout
    android:id="@+id/adwhirl_layout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"/>

AdWhirl 通过查看此 sn-p 的清单来获取您的 SDK 密钥:

<meta-data android:value="YOUR_SDK_KEY"
    android:name="ADWHIRL_KEY" />

更新 2:

所以按照Millennial documentation,建议不要设置高度或宽度,而是让SDK根据设备进行优化。 HTC Desire 的屏幕密度为 1.5,因此 320x53 的广告应该放大到 480x79.5 左右。这解释了为什么 480 是默认值。我仍然不确定为什么它太长了。它应该非常适合。当你说太长时,是只是太长了几个像素,还是太长了 1.5 倍?

更新 3:

所以我实际上能够重现这个问题,这看起来像是千禧一代的一个错误。我不确定这是否只是广告素材,因为我只能获得那个确切的广告,但该广告绝对是 480dp 宽,而它应该只有 480 像素宽。如果您将设备置于横向模式,您可以看到它有多大。

我建议联系千禧一代,询问他们以前是否遇到过这个问题。

【讨论】:

  • 我正在尝试这个解决方案,但仍然有同样的问题。此外,当尝试在 xml 中使用 width=fill_parent 和 height=wrap_content 放置 adwhirl 布局时,也会出现同样的问题。对于测试,我在 xml 中添加了 MM 广告布局,当我设置 app:width="320" 时效果很好,但在 adwhirl 中我无法设置此参数;/
  • 奇怪,我想知道你是不是在一些大型设备上进行测试。我认为千禧一代试图返回适合的最大尺寸广告,但我不确定它是如何做到的。无论如何,您也可以在 XML 中定义 AdWhirlLayout,我将编辑我的答案以向您展示如何操作。也许从那里你可以尝试设置它的宽度。
  • 我在第一篇文章中添加了更多信息
  • 更新了带有广告屏幕的帖子
  • 再次更新答案。我最好的猜测是它是千年虫。
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 1970-01-01
  • 1970-01-01
  • 2018-04-07
相关资源
最近更新 更多