2011-05-27 258 views
0

主要在我的工作我做閃光橫幅。我經常會使用MediaMindDoubleClick,但顯然有時我需要開發廣告以滿足某些發佈商的要求,例如NineMSN和Yahoo!Flash橫幅廣告規格

它們中的每一個對於它們的「clickTag」都有不同的規格。 clickTag基本上就是一個被分析成flashvars的變量的名稱,幷包含點擊廣告時的點擊URL。

這裏有幾個是外出走動:

clickTag 
clickTAG 
_root.clickTag 
_level0.clickTag 

以及上述的任意組合(即,不同的套管等)。

我認爲_root_level0是不必要的,所以我刪除了它們。然後,我被其中一位發佈商說,clickTag不正確(因爲我從前面刪除了_root)。她正在使用一些在線工具,允許他們查看應用到按鈕上的動作腳本,但他們實際上沒有在他們的系統中測試廣告以查看它是否有效。

所以,問題1:我幾乎可以肯定的是_root.var_level0.varvar都是同樣的事情(從_root /主時間軸明顯)。除非它可以通過flashvars進行分析,只能通過_level0_root訪問該變量(根據我所知,您無法完成此操作)。

問題2:我得到的另一件事是在時間軸上應用點擊,而不是直接在按鈕上(我討厭將任何代碼直接放到對象上)。像這樣:

btn.onRelease = function():Void 
{ 
    getURL(clickTag, "_blank"); 
} 

而不是這樣的放置在按鈕本身:

on(release) 
{ 
    getURL(clickTag, "_blank"); 
} 

我看不出有可能可能是一個區別就在這裏無論是,還是有?

最後一個問題是:我花一個小時,創造了兩種不同風格的3種不同的廣告尺寸的12份到適當的clickTag適用於每個橫幅直接發送給出版商。爲什麼我不能像這樣創建一個超級clickTag?

var clicktags:Array = [clickTag, clickTAG, uncommonClickTag]; 
btn.onRelease = function():Void 
{ 
    var i:Number = 0; 
    for(i; i<clicktags.length; i++) 
    { 
     var s:String = clicktags[i]; 

     if(s != undefined) 
     { 
      getURL(s, "_blank"); 
      break; 
     } 
    } 
} 

回答

3

問題1:你說的很正確,你的出版商的同事是錯誤的,但她(工作)的老闆,而且很可能沒有接受你的解決方案所需的理解。她通過一些不透明的工具運行橫幅並獲得肯定是比較安全的,但肯定是在「搖擺船」,要求她的老闆接受你完美形成的「違規行爲」。

此外,你可以絕對確定你的旗幟不會被加載到另一個瑞士法郎(打破_rootless代碼)?也許不太可能,但是如果有什麼可能會出錯......

最後,問題3使整個事情都沒有意義,就像你會看到的那樣。是的,你確實可以做一些像您的代碼段,但你將不得不使用字符串的Flash變數名稱,並做未定義測試針對該標籤值從_root了[flashVarNameString]是這樣的:

var clicktags:Array = ["clickTag", "clickTAG", "uncommonClickTag"]; 
btn.onRelease = function():Void 
{ 
    var i:Number; 
    for(i; i<clicktags.length; i++) 
     { 
     var s:String = clicktags[i]; 
     var tagVal:String = _root[s]; 

     if(tagVal != undefined) 
      { 
       getURL(s, "_blank"); 
       break; 
      } 
     } 
    } 
+0

我喜歡這個,你認爲這個橫幅可能已經被放入另一個SWF。不知道爲什麼我沒有想到這一點。如果是這樣的話;那麼我應該能夠像在你的例子中一樣總是使用_root。謝謝你。 – Marty 2011-05-30 20:40:33

+0

PS我無法授予6小時的賞金,所以我會盡我所能。 – Marty 2011-05-30 20:41:56

0

而且,您搜索不同點擊標籤的最後一個代碼片段也可能不會讓這個可憐的女孩從她的橫幅驗證工具(從經驗談!)中獲益)。

0

在我的經驗,下面的代碼片段是爲多種變量clickTag名稱是短了很多,更簡單:

btn.onRelease = function():Void 
{ 
    var url = (_root.ClickTag || _root.clickTag || _root.clicktag || _root.clickTAG || _root.ClickTAG); 
    if (url.substr(0,4) == "http") { 
     getURL(url, "_blank"); 
    } 
} 

相同的代碼可以在按鈕實例中使用:

on (release) 
{ 
    var url = (_root.ClickTag || _root.clickTag || _root.clicktag || _root.clickTAG || _root.ClickTAG); 
    if (url.substr(0,4) == "http") { 
     getURL(url, "_blank"); 
    } 
} 

我從來沒有告訴這給我的客戶或項目經理,只是因爲他們不會理解。