先日も書いたけど、TDのJavaScript SDK、面白い。
http://hisaichi5518.hatenablog.jp/entry/2014/11/30/175613
var td = new Treasure({...}); td.trackPageview('pageviews');
とかやるとGoogle Analyticsにデータを送るみたいにTDにデータを送ってくれる。
更に詳しい使い方は、以下を見れば分かる。
- http://docs.treasuredata.com/articles/javascript-sdk
- http://qiita.com/kzk9/items/15f4e01cafa30fb8e7a5
しかしまあ、いちいち全アプリケーションにpageviewタグを追加していくのもだるいので、rack middlewareとして書いてみた。
ペパボ社内にはTDに情報を送るCastanetという仕組みがあって、それも同じようなrack-middlewareがある。それをパクりました。
使い方は簡単で、3つのステップで導入出来る。
1. Gemfileにrack-td_js_sdkを追加する
gem "rack-td_js_sdk"
2. config/application.rbにミドルウェアの設定を書く
... module Example class Application < Rails::Application config.middleware.use Rack::TdJsSdk, database: "foo", write_key: "..." end end
write_keyは、TDで取得出来るキー
databaseは、自動で作られるので、自分で作る必要はない。
3. サーバを立ち上げる
rails s
これだけでアクセスするとTDに情報が送られるようになる。便利。