2011-05-27 214 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"); 
    } 
} 

我从来没有告诉这给我的客户或项目经理,只是因为他们不会理解。