« AjaxもFlashもトラックできる!? Google Analyticsの脅威 | main | Google Analyticsをゲーム開発に使う メモ »

2005年11月19日

Google Analyticsを制御するクラスを作ってみたよ

昨日のエントリをベースに、FlashからAnalyticsを制御するクラス、GAnalyticsを作ってみた。

サンプル、ドキュメント一式はこちら

まずは基本的な使い方。
ページの遷移を集計したい場合とかはこんな感じで行うわけです。

var ga = GAnalytics.getInstance();
ga.call("集計したい/イベントを/パス的表現で");


次にコンポーネント等のDOM3イベントと、Analyticsとのバインディング機能。
「イベントの発行~Analyticsでの集計」という一連の処理を自動化するわけです。
ボタンのクリックを集計する場合は、こんな感じですね。

var ga = GAnalytics.getInstance();
ga.bindEvent( Buttonインスタンス, "click", "menu/button1/click");

これで、ボタンを押すだけでAnalyticsの"menu/button1/click"が集計されるようになります。

さらに高度なバインディングとして、ユーザー定義の無名関数を中継してバインドを行うこともできます。この場合、第四パラメータに関数sortのようにfunctionを渡してやります。

var ga = GAnalytics.getInstance();
var captureEvent = function(eventObj){
 return (eventObj.target.selected)? "menu/checkBox/selected" : "menu/checkBox/unselected"
}
ga.bindEvent( CheckBoxインスタンス, "click", null, captureEvent);

ロジックとしては、イベントが発行されたタイミングで引数として渡された無名関数が実行されます。無名関数はreturnでidを返すようにし、そのidがAnalyticsで集計されます。

この例では、チェックボックスがtrueかfalseかを無名関数で判定して、Analyticsでの集計を分岐させています。詳しい動作は、ドキュメントかソースかサンプルで。


とりあえず、たたき台ではありますが単純な用途なら十分なはず。
マジに実用化するならば、二層くらい抽象化して他のサービスにも対応したりできると素敵ですね。

1~2時間でちゃっちゃか作ったコードなので不完全なところもありまくりですが、もっと効率のよい方法があるぞ!!まちがっとるで!!
とかあったら教えてくださいませ。というか改造してうpしてください。

投稿者 Taka : 2005年11月19日 01:34

book

dotfla.gif

bookmark

はてなブックマークに追加

del.icio.usに追加

trackbacks

this entry's trackback URL:
http://www.fladdict.net/cgi-bin/mt3/mt-tb.cgi/377

このリストは、次のエントリーを参照しています: Google Analyticsを制御するクラスを作ってみたよ:

» GoogleAnalytics - Google Wiki from GoogleAnalytics - Google Wiki
GoogleAnalyticsの使い方のまとめ。 [read more]

トラックバック時刻: 2005年11月26日 11:36

» jewish dating from jewish dating
jewish dating [read more]

トラックバック時刻: 2006年03月28日 10:41

comment

ちょこっとバグ修正して最新版うpりました

by Taka : 2005年11月19日 16:20

FLASHはほとんど使わないけど、なかなか面白そうだな~。
もしFLASHを使うことになったら使わせてもらいます。というわけでお気に入りへ・・・とw

by telles : 2005年11月27日 04:44

どもです、なんかバグあったら教えてください。対応いたします。

by Taka : 2005年11月28日 00:24

コメントしてください




保存しますか?