google analytic の実装方法 - Android
この記事ではAndroid Studioを使ってgoogle analytics を実装する方法を紹介します。
1. ライブラリーをインストール
以前までは
compile 'com.google.android.gms:play-services:7.3.0'
という感じでplay servece自体をそのまま入れていましたが、これでは必要ない機能(google fitやgoogle mapsなど)が多く入っているので今回は
com.google.android.gms:play-services-analytics:7.3.0
を使うようにしましょう。これにより65k問題を防ぐことができます。
2. Application作成
次に以下のようにしてApplicationを作りましょう。
public class AnalyticsSampleApp extends Application { private static final String PROPERTY_ID = "UA-XXXXX-Y"; public enum TrackerName { APP_TRACKER, } HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>(); public AnalyticsSampleApp() { super(); } synchronized Tracker getTracker(TrackerName trackerId) { if (!mTrackers.containsKey(trackerId)) { GoogleAnalytics analytics = GoogleAnalytics.getInstance(this); Tracker t = analytics.newTracker(PROPERTY_ID); mTrackers.put(trackerId, t); } return mTrackers.get(trackerId); } }
あらかじめGoogle Analytics に登録しておき、そこで入手したトラッキングIDを PROPERTY_ID
にセットしましょう。
3. データの送信と設定
- スクリーンビュー送信
スクリーンビューを送信するときには以下の様なコードを送りたいActivityまたはFragmentに設定します。
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName(screenName); t.send(new HitBuilders.AppViewBuilder().build());
- 複数の情報を送信
スクリーンビューを送る以下にもカテゴリーやアクション、ラベルなどを設定して送信することができます。
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker( TrackerName.APP_TRACKER); t.setScreenName(screenName); t.send(new HitBuilders.EventBuilder() .setCategory(getString(categoryId)) .setAction(getString(actionId)) .setLabel(getString(labelId)) .build());
4. サンプリング
Google アナリティクスに送るヒット数を制限することにより、間断なくレポート作成を継続できるようになります。 例えば半数にユーザー情報を取得したいときには
<string name="ga_sampleFrequency">50.0</string>
mTracker.setSampleRate(50.0d);
と設定すればできます。
5. テスト
テストを行う際にGoogle Analyticsに情報を送りたくない時には以下のようなコードを加えます。
GoogeAnalytics.getInstance(this).setDryRun(true);
以上になります。みなさんお疲れ様でした!