Android アプリで Google Analytics へトラッキングするサンプルクラス
お客さまからの要望があって対応。特に難しいことはないのだが、せっかくなので Gist にスニペットを登録しておいた。
作成したクラス
Gist に登録済み。
/** * Google Analytics へのトラッキングを行うクラス。 * * @author tomoyamkung * */ public class GoogleAnalyticsTrack { private Tracker tracker; /** * コンストラクタ。 * * @param activity Google Analytics へトラッキングを送信する画面のアクティビティ */ public GoogleAnalyticsTrack(Activity activity) { GoogleAnalytics instance = GoogleAnalytics.getInstance(activity); tracker = instance.getTracker(getGoogleAnalyticsPropertyID(activity)); } /** * Google Analytics へのトラッキングに必要な「プロパティID」を取得する。 * * プロパティID 自体は strings.xml に定義してある。 * * @param activity Google Analytics へトラッキングを送信する画面のアクティビティ * @return プロパティID */ private String getGoogleAnalyticsPropertyID(BaseActivity activity) { return activity.getString(R.string.ga_property_id); } /** * トラッキング情報を送信する。 * * @param message 送信メッセージ */ public void send(String message) { tracker.sendView(message); } /** * イベント情報を送信する。 * * @param category * @param action * @param label * @param value */ public void sendEvent(String category, String action, String label, long value) { tracker.sendEvent(category, action, label, value); GAServiceManager.getInstance().dispatch(); } }
プロパティIDの取得
トラッキングに必要なプロパティIDはソースコードに直接書くのではなく、strings.xml に切り出すようにしてある。キーは ga_property_id
としてある。
strings.xml はわざわざサンプルを載せる必要もない程度の内容なので省略。
実装メソッド
送信処理を行うメソッドを2つ実装した。
- GoogleAnalyticsTrack#send
- GoogleAnalyticsTrack#sendEvent
GoogleAnalyticsTrack#send
は、画面が表示されたタイミング(Acrivity
を切り替えたタイミング)でトラッキング情報を送信する用途に使っている。
GoogleAnalyticsTrack#sendEvent
は、何かをタップしたり、更新処理を行ったタイミングでトラッキング情報を送信する用途に使っている。
Googleアドセンス用(PC)
関連記事
-
-
Android の非同期処理を行う Loader の起動方法
これ、ボクの完全な思い違いだったのですが、非同期処理を行うクラスの呼び出しは Activity か
-
-
初めてのアンドロイドアプリ開発振り返り
始めてのアンドロイドアプリ開発が落ち着きをみせてきた。まだ熱が冷めないうちに簡単に振り返っておく。
-
-
Android アプリ開発で “cannot perform this action inside of onloadfinished” とエラーメッセージが表示された場面の対処法
現在仕事で Android アプリ開発をやっていて、この "cannot perform this
-
-
位置情報取得に関する覚え書き
思うように最新の位置情報を取得できなかったが、試行錯誤した結果「とりあえず大丈夫かな」って段階まで持
-
-
AlertDialog の背景をタップできなくする
AlertDialog はモーダルダイアログではないので背景をタップできてしまう。それだとちょっと不
-
-
Android アプリ開発で “Unable to resolve target ‘android-16′” などとエラーメッセージが表示された場合の対処法
"Unable to resolve target 'android-16'" などとエラーメッセー
-
-
AlertDialog がキャンセルされたときに処理を行うスニペット
AlertDialog のスニペット。キャンセル時のリスナーを Gist に登録。 new Al
-
-
Android アプリでタイムゾーンを Asia/Tokyo で現在時刻を取得する
もしかしたら環境だったり、条件があるのかもしれないけど備忘録としてメモ。 Android アプ
-
-
Android アプリで特定の Activity が呼ばれたらアプリを終了させる方法
とある Activity が呼ばれたらアプリを終了させる方法です。 戻るボタンで戻りすぎることが出
-
-
WebView からデフォルトブラウザを開く
WebView に表示されているリンクは WebView ではなくデフォルトブラウザで開きたい、とい