先日、あるアプリにGoogleAnalyticsSDKを入れようとしたら、SDKにV2が出ていたので早速使ってみました。まだ少ししか触ってないのですが、あまり情報が出回っていないようなので少し書いておこうと思います。
まず気になったのが、trackEvent, trackView などのメソッドが軒並み deprecated になっているという点です。かわりに、sendEvent, sendView などが追加されていました。まあこの辺はよしとして。
つぎに目を引いたのは、EasyTracker というクラスです。Easyっていい響きですね。早速これを使ってみます。
といっても使い方はここ↓に書いてあるとおりで簡単なのですが。
https://developers.google.com/analytics/devguides/collection/android/v2/
ただ、ちょっと気になるのが、上記のドキュメントのとおり実装すると、トラッキングされる各アクティビティのURLが、アクティビティのクラスの完全修飾名(いわゆるClass#getCanonicalName で返されるString値)になってしまうという点です。ちょっと嫌ですね。
でEasyTrackerのソースを眺めてみたところ(といってもJadClipseですが)ありました、よさげなやり方が。
上記のドキュメントにも出てくる設定ファイルの中(というかリソースファイルの中ならどこでも良いのですが)に、下記のように、Activityのクラスの完全修飾名をキーにしたstring リソースを定義してやります。
<string name="my.package.name.MainActivity">/Main</string> <string name="my.package.name.HogeActivity">/Hoge</string> <string name="my.package.name.FooActivity">/Foo</string>
このように定義しておいてやると、EasyTrackerが勝手に、context#getString(id) して対象のURLを書き換えて出力してくれます。
よしよし。