おはようございます。なかじまんです。
OpenSocial jQuery Event Tracking というプラグインを作りました。
作りとしては完成したもので、他に必要なことがあれば追加していけばよい
のですが、どうもインタフェースがしっくりこないので、気付きを期待してだら
だら投稿してます。
ソースと実例は、この changeset を見てください。
http://code.google.com/p/opensocial-jquery/source/detail?r=661
jQuery.autoTrack(); とすると、イベントを自動的にトラッキングして、外部デ
ータベース(今はOpenSocial Host)に記録しはじめます。後で、データベー
スを分析すれば、ユーザがどのような行動をしているか把握できるというも
のです。
トラッキングできるイベントは、次のとおりです。OpenSocial jQuery という
抽象レイヤがあってこそ実現できることなので、特徴的といえます。
* どのビューを表示したか、ビュー名とパラメータ
* どのビューに遷移したか、ビュー名とパラメータ
* どの外部サイトに誘導されたか、URL
* 外部サイトに何をリクエストしたか、ajax GET|POST と URL+QUERY_STRING
* コンテナンに何をリクエストしたか、ajax type="data" People, appData など
* どのリンクをクリックしたか、ラベルとリンク先
* すべてのイベントで、viewer_id, owner_id, 日時が判別できます
Google Analytics API を使えばいいんじゃない? という気もしますが、makeRequest
を使うことで viewer_id, owner_id など付加情報が得られて、ユーザのセッション
を追跡できるのが違うかなと考えてます。Analytics をガジェットで使うとなると、
Cookie セッションしか手段がなさそうなので、大丈夫かしらという懸念もあったり
してます。(ちゃんと調べてはいません)
気にしているところは、次のとおりで、インタフェースを見直そうといろいろ考え
てます。
* OpenSocial Host 以外のデータベースも選べるようにしたい
-- 選べるというのがいいか、実装を入れ替えられるのがいいか
* 特定のイベントだけをトラッキングできるようにしたい
-- jQuery の Global Event モデルに統合したいが、mixi の外部サイト誘導が...
* ユーザ行動のトラッキングが目的なのですが、デバッグ用途という誘惑もあり、
コンセプトがぶれてきてる
どういうことができれば実用になるのか、もう少し整理しないといけないですね。