2013-03-12 103 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()); 
} 
相關問題