Archive : March 2010

Progression4 × gaforflash

progression4でGoogle Analytics for Flashを使ってみる

ちょっと使う機会があったのでメモ。
一応、ちゃんと取得出来ているので良しとしておこう。。。

// IndexScene.as

package
{
	import com.flashdynamix.utils.SWFProfiler;
	import com.google.analytics.GATracker;

	public class IndexScene extends SceneObject
	{
		private var _tracker:GATracker;
		private var _swfPath:String;

		public function IndexScene( name:String = null, initObject:Object = null )
		{
			// google analytics
			_tracker = new GATracker( container, "UA-xxxxxxxx-x", "AS3", false );
			manager.addEventListener( ProcessEvent.PROCESS_COMPLETE, onProcessComplete );

			// localhost じゃない場合は swf のパスを取得
			if ( _tracker.config.domainName != "localhost" )
			{
				var _array:Array = manager.stage.loaderInfo.url.split( "/" );
				_swfPath = ( ( _array.length > 4 ) ? "/" : "" ) +  _array.slice( 3, _array.length - 1 ).join( "/" ) + "/";
			}
		}

		// PROCESS_COMPLETE
		private function onProcessComplete( e:ProcessEvent ):void
		{
			if ( _swfPath )
			{
				// google analytics
				var _pathArray:Array = e.targetScene.sceneId.path.split( "/" );
				_tracker.trackPageview( _swfPath + _pathArray.slice( 2, _pathArray.length ).join( "/" ) );
			}
		}
	}
}

■コンストラクタで GATracker を生成して、 イベントリスナーを登録する。(16、17行目)
GATracker の第1引数に DisplayObject を指定し、第2引数に Google Analytics のIDを指定。
第3引数に mode を指定(今回は “AS3″)、第4引数はデバッグの ON/OFF。
第5引数以降はまたの機会に。。。
シーンの遷移後にトラッキングを実行したいのでイベントタイプは ProcessEvent.PROCESS_COMPLETE。

■シーン遷移時にトラッキングを実行(34行目)
_tracker.trackPageview(“/hogehoge”); でトラッキングを実行。

■参考サイト
Google Analytics Tracking for Adobe Flash 関連ドキュメントの日本語訳

それにしても、やっぱり便利すぎるProgression