2013-03-12 81 views
3

我想知道如何针对DFP广告管理系统中不同的浏览器宽度/屏幕分辨率创建不同的广告/广告素材尺寸。我发现这篇关于此问题的DFP文章,但它专门针对移动用户,他们不提供任何代码,而只是一种方法。下面是文章:DFP中的多个广告/广告尺寸

http://support.google.com/dfp_premium/bin/answer.py?hl=en&answer=2615435

在这里面他们给一个代码的方法,看起来像这样:

if screen size < 300px 
ad tag size = 216 
else if screen size < 600px 
ad tag size = 300 
else 
ad tag size = 600 

但这篇文章是仅用于移动广告。 :(这是我的广告图像的的jsfiddle:http://jsfiddle.net/EptwH/3/

如果有谁能够告诉我就是否存在有不同的浏览器宽度多个广告/广告大小的方法,这将是惊人的,一件事补充,我不完全想要改变广告尺寸,比例将保持不变...所以例如,我想要一个100x50的广告,然后是200x100,然后是300x150,然后是400x200等。如果有人可以帮助我,或让我知道如果这甚至是可能的......这将是惊人的!

+0

我想你指的是你自己的房子的广告?由于标准广告位不可扩展。 – hexblot 2013-03-12 16:22:58

+0

看到我的例子在这里: http://stackoverflow.com/questions/40243168/dfp-responsive-ads/40247759#40247759 – Ivo 2016-10-25 19:11:30

回答

4

如果您看到DFP要求您嵌入到您的页面的JS代码,它们会分成三个“阶段“:

  • 首先您定义页面上的可用插槽
  • 秒您启用服务
  • 第三次请求插槽填充。

在第一步中,您可以有一些条件代码。有一个条件

googletag.defineSlot('/1234567/my_slot', [728, 90], 'gpt-apps-large').addService(googletag.pubads()); 

:所以,你可以代替这种说法

if(window.width>728) { 
    googletag.defineSlot('/1234567/my_slot', [728, 90], 'gpt-apps-large').addService(googletag.pubads()); 
} else { 
    googletag.defineSlot('/1234567/my_slot', [468, 60], 'gpt-apps-large').addService(googletag.pubads()); 
} 

编辑:奖金提示 - 在这里使用的信息https://support.google.com/dfp_sb/bin/answer.py?hl=en&answer=181070调试您的广告投放。

+0

嘿男人,毫无疑问,在我的脑海里,这将工作,但我试过了我的jsfiddle,它只是给了我一个空白的添加,无论浏览器的宽度如何:http://jsfiddle.net/EptwH/4/我是否必须实际上载广告素材作为我在javascript代码中指定的大小之一?这看起来很简单,但目前它还没有正常工作......如果你能得到jsfiddle(在原始问题中发布),那将是惊人的! – Dyck 2013-03-12 16:35:01

+0

您需要定义每个广告位(在我的示例中为728x90,468x60),并为每个尺寸添加了广告素材,是的。 – hexblot 2013-03-12 16:35:51

+0

嗨hexblot,我很欣赏你的输入和答案,但是当我尝试你的代码时,广告不会改变尺寸。我为广告单元和广告单元指定了3个广告尺寸,并为指定的尺寸上传了3个广告素材。当我使用生成的dfp广告代码时,广告会在更新时更改尺寸,但同样......我希望广告根据浏览器宽度更改尺寸,就像您在答案中指定的一样。因此,当我尝试这样做时,广告不会更改浏览器宽度更改的大小。这里是我的jsfiddle:http://jsfiddle.net/qqXEj/5/你想让我为此创建一个单独的问题吗? – Dyck 2013-03-14 00:37:25

0

对于我来说简单window.width没有工作,但这个好:

if(window.innerWidth>728) { 
    googletag.defineSlot('/1234567/my_slot', [728, 90], 'gpt-apps-large').addService(googletag.pubads()); 
} else { 
    googletag.defineSlot('/1234567/my_slot', [468, 60], 'gpt-apps-large').addService(googletag.pubads()); 
} 
相关问题