1

設定:

  • クリップやカテゴリのような「youtube」を含むオンライン テレビ チャンネル
  • 他のリモートサイトに埋め込むことができる独自のフラッシュビデオプレーヤー
  • as2フラッシュプレーヤー

目標: 少なくともドメインごとの基本的な統計情報を使用して、誰が私の動画を埋め込んでいるかを追跡します。

AS2なので、これを行うのは難しいです。私の考えは、プレーヤーが Web サイトに読み込まれるたびに開く必要がある PHP ページを作成できるということです。その後、Flash Player は、Google Analytics コードまたはその他の適切なトラッカーを含む PHP ファイルの「geturl」を実行できます。

geturl コマンドには、プレーヤーに既に含まれているビデオ タイトルなどの変数を含めることができます。このタイトルは GET を使用して PHP ファイルに渡され、非常によく追跡できる動的なページ タイトルが設定されます。

問題: ユーザーのブラウザで新しいタブまたはウィンドウを開かずに GETURL 関数を使用する方法。それを行うための隠された方法はありますか?

4

3 に答える 3

1

私が見つけた主な問題は、次のように、の html 埋め込みコードに allowScriptAccess がある場合にのみ、外部情報に対する制御が存在できることです。

<param name="allowScriptAccess" value="always">

allowScriptAccess="always"

タグで。

私のプレーヤーを埋め込むすべての人にそれらの行をサイトに追加するように言うことはできないので、これは私にとって少し遅れていますが、これからは...とにかく、非表示にしたい人は簡単に行を削除できます. それで、SWF ファイルの名前を変更しました...そして今、リモート埋め込みを行うすべての人が、新しいコードを確認して取得する必要があります。

動作した AS2 コードは次のとおりです。

function geturlhttp() {
//urlPath = ExternalInterface.call("window.location.href.toString");
urlPath = ExternalInterface.call("eval","document.location.href");

//both work, try which one is bet
}
geturlhttp();


var lv:LoadVars = new LoadVars();

lv.var1 = urlPath;
lv.var2 = title; //an internal variable, the name of the file


lv.sendAndLoad("http://www.somesite.test/tracker.php",lv,"POST");

したがって、追跡は自分のサイトでのみ機能し、sql で空または「null」になる外部リモート埋め込みサイトでは機能しません。

そして、これが私が SQL で作成した PHP コードです。挿入用のものしか作っていないので、後でディスプレイと選択に取り掛かります...

<?php
//POST needs to be secured, this is just a test :)
$url = $_POST['var1'];
$title = $_POST['var2'];

$dbhost = "127.0.0.1"; // almost always localhost.
$dbname = "x";   // Database Name, In our case, its news
$dbuser = "x"; // Database Username
$dbpass = "x"; // Databse Password


$connect = mysql_connect("$dbhost","$dbuser","$dbpass");// Connecting to Database

mysql_select_db($dbname) or die (mysql_error()); // Selecting Database

$sql= "INSERT INTO tablename (urlrow, titlerow) VALUES ('$url','$title')";
$result = mysql_query($sql);

?>
于 2010-05-21T17:58:03.863 に答える
0

これを行う最も簡単な方法は、LoadVars を使用することです。

var lv:LoadVars = new LoadVars();

lv.var1 = "hostname";
lv.var2 = "browsersettings";

lv.send("http://yourserver/script.php, lv, "POST");

これにサンドボックスの制限があるかどうかはよくわかりません。

于 2010-02-19T18:39:41.653 に答える
0

サルートダン、

しばらくas2をしていません。

餅ボット
(出典:mochibot.com

mochibotを使用したことを覚えています。swfが埋め込まれている場所ならどこでも追跡できました。

彼らはまだas2追跡を持っているかもしれません。

于 2010-02-19T18:44:20.583 に答える