私たちはアフィリエイトシステムを開発しており、コンパイルされたSWF広告がclickTAGを実装しているかどうかを何らかの方法で検出したいと考えています。このプロセスを自動化する方法はありますか?
5 に答える
www.adbannerking.comのようなクリックタグチェッカーを使用できます。SWFファイルにあるクリックタグが表示されます。このソフトウェアでは、ソースファイル(.fla)を必要とせずに、それに応じてクリックタグを変更することもできます。同時に、x個のSWFファイルを同時にすばやく確認/変更できます。
http://adopstools.netでは、swf を送信してクリックタグやその他のものをチェックできます
これは複雑な問題です。
提案された解決策は、不適切なクリックタグの場合にのみ対処します (例: clickTAG と clickTag)。その他の潜在的な問題は次のとおりです。 - クリック可能なレイヤーがない、クリックタグ コードがない - URL がハードコードされたクリック可能なレイヤー - バナーのごく一部しかカバーしていないクリック可能なレイヤー - AS3 の上記すべて (flasm は AS2 のみをサポート)
フラッシュ バナーをデバッグするときは、flasm (http://www.nowrap.de/flasm.html windows+linux) を使用して swf ファイルを逆コンパイルします。出力をコンソール (-d) に取得するか、ファイルにダンプすることができます。
$ flasm -d file.swf > out.txt
次に、ファイル/出力で clickTag/clickTAG を検索します。
- 実行権限が必要です。
何をする必要があるかを正しく理解していれば、広告をロードし、表示ツリー内のすべてのクリックをシミュレートすることで、半自動のテスト 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_DOWN
ありMOUSE_UP
ます.jdanguが言及しているように、明らかにこれは非常に小さなクリック領域などの問題を明らかにしませんが、基本的なテストとして役立つことを願っています.