携帯用swfを出力しつつもアクセス解析

携帯でSWFを表示させながらもアクセス解析取りたいんですけど!と言われて、調べてみた。

  • 携帯のフラッシュ(flashlite1.1)は表示された瞬間に画像を取得するような事は出来ない。ユーザーのアクションがあって初めて画像などの取得スクリプトを動かすことが出来る。
  • 入れたいアクセス解析は画像を呼び出すことで解析出来るタイプうごく人RTmobile
  • 携帯フラッシュで操作させたい時は最後の出力形式がswfでないといけないらしい。

なのでこうしてみた。
Apache2側のvhostのDocumentRootは
/var/www/hoge
にしている

/var/www/hoge/.htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php

以下はパラメーターなどを携帯->SWF->裏側のPHPなどに引き渡したい時
/var/www/hoge/index.php

>1)+5;
$length = ceil((((8-($i&7))&7)+$i)/8)+17;
$head = substr($src,0,$length);
return(
substr($head,0,4).
pack("V",strlen($src)+strlen($tags)).
substr($head,8).
$tags.
substr($src,$length)
);
}
function build_tags($item){
$tags = array();
foreach($item as $k => $v){

array_push( $tags, sprintf(
"x96%sx00%sx00x96%sx00%sx00x1d",
pack("v",strlen($k)+2), $k,
pack("v",strlen($v)+2), $v
));
}
$s = implode('',$tags);
return(sprintf(
"x3fx03%s%sx00",
pack("V",strlen($s)+1),
$s
));
}

$UH2url = 'http://b14.ugo2.jp/?u=2920123&h=212936a&ut=1&guid=ON&qM=';
$UH2url .= urlencode(isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'').'|Az|'.(int)($_SERVER['SERVER_PORT']);
$UH2url .= '|'.urlencode($_SERVER['HTTP_HOST']).'|'.urlencode($_SERVER['REQUEST_URI']);
$UH2url .= '|H|&ch=UTF-8&sb='.urlencode('[page title]');
file_get_contents($UH2url);

$rtUri ="http://t7.aqtracker.com/cgi-bin/asp/tagx/h/DMSYJAYJPN2342386G9RLQA/2=http%3A%2F%2Fexample.jp%2F/blank.gif?guid=on";
file_get_contents($rtUri, "r");

header("Content-Type: application/x-shockwave-flash");
$path = '/var/www/hoge/index.swf';
echo swf_wrapper($path, array('test' => 'hoge'));
die();
?>

もしくは引き渡さなくてもよい場合は
/var/www/hoge/index.php

何度かアクセスすると解析結果が表示されるようになるよ!
よかったよかった