1

我们一直在开发联属网络营销系统,并希望以某种方式检测已编译的 SWF 广告是否实现了 clickTAG。有没有办法自动化这个过程?

4

5 回答 5

0

您可以使用像 www.adbannerking.com 这样的点击标签检查器,它会显示 SWF 文件中的点击标签。该软件甚至允许您相应地更改点击标签,而无需源文件 (.fla)。同时,您可以快速同时检查/更改 x 个 SWF 文件。

于 2013-02-13T12:28:16.403 回答
0

这是一个复杂的问题。

建议的解决方案仅解决不正确的 clicktag 的情况(例如 clickTAG 与 clickTag)。以下是其他潜在问题: - 没有可点击层,没有点击标签代码 - 带有硬编码 URL 的可点击层 - 可点击层仅覆盖横幅的一小部分 - AS3 中的上述所有内容(flasm 仅支持 AS2)

于 2011-04-26T20:32:26.587 回答
0

当我调试 flash 横幅时,我使用 flasm (http://www.nowrap.de/flasm.html windows+linux) 来反编译 swf 文件。您既可以将输出输出到控制台(-d),也可以将其转储到文件中:

$ flasm -d 文件.swf > out.txt

然后在文件/输出中搜索 clickTag/clickTAG。

  • 需要执行权限。
于 2011-04-20T10:49:57.700 回答
0

http://adopstools.net允许您提交 swf 并检查它的点击标签以及其他内容

于 2013-01-18T19:33:20.860 回答
0

如果我正确理解了您需要做什么,则应该可以通过加载广告来构建半自动测试 swf,然后模拟对其显示树中所有内容的点击。

您可以使用 URLRequest 的 data 属性将参数传递给加载的 swf,如下所示:

var loader:Loader = new Loader();
var req:URLRequest = new URLRequest("ad.swf");
var clickTagURL:String = "http://www.example.com";
req.data = new URLVariables("clickTAG=" + clickTagURL + "&clickTag=" + clickTagURL + "&clicktag=" + clickTagURL);
loader.load(req);

(虽然您需要在浏览器中或独立运行它,因为 Flash IDE 抱怨查询字符串参数。)

然后您可以递归地遍历触发点击的显示列表:

testClicks(loader.content as DisplayObjectContainer);

function testClicks(target:DisplayObjectContainer):void {
    var numC:uint = target.numChildren;
    for (var i:uint = 0; i < numC; i++) {

        target.getChildAt(i).dispatchEvent(new MouseEvent(MouseEvent.CLICK));

        if (target.getChildAt(i) is DisplayObjectContainer) {
            testClicks(target.getChildAt(i) as DisplayObjectContainer);
        }
    }
}

如果您将包含测试广告的文件夹设置为受信任,或者使用调试播放器,您将能够查看是否有任何这些点击导致广告打开 URL。

它可能值得触发MOUSE_DOWNMOUSE_UP如果开发人员使用了它们,显然这不会揭示像 jdangu 提到的点击区域非常小的问题,但希望它作为基本测试有用。

于 2013-01-18T20:54:02.407 回答