|
    
        
        タグ:
        
AndroidアプリにGoogleAnalyticsを仕込む手順
アプリ内のユーザー解析のために積極的に利用すべきサービス「Google Analytics」をAndroidアプリに仕込む際の手順をまとめました。
 
①Googleのアカウントを作成する。
②GoogleAnalyticsにログインする。
③GoogleAnalyticsAndroidSDKをダウンロードする。
④トラッキングIDをメモる(UA-XXXXXXXX-Xみたいなやつ)
⑤アプリのプロジェクトのlibsフォルダに③でダウンロードしたlibGoogleAnalyticsServices.jarを入れる。
⑥resフォルダ内のvaluesフォルダにanalytics.xmlというファイルを作成し、以下の様に記述する。
                <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <!-- Replace placeholder ID with your tracking ID -->
    <string name="ga_trackingId">UA-XXXXXXXX-X</string>(←④でメモったトラッキングIDを入れる)
    <!-- Enable automatic activity tracking -->
    <bool name="ga_autoActivityTracking">true</bool>
    <!-- Enable automatic exception tracking -->
    <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
⑦AndroidManifest.xmlに以下のpermissionを追加する。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />以上で準備は完了です。 「スクリーンビュー」「イベント」を取得するときの実際のコードの書き方をそれぞれ下記に記します。 ・スクリーンビューを取るとき 以下のコードをスクリーンビューを取りたいActivityやFragmentのonStart()内に記述します。
Tracker easyTracker = EasyTracker.getInstance(this);
easyTracker.set(Fields.SCREEN_NAME, "スクリーンの名前");
easyTracker.send(MapBuilder
    .createAppView()
    .build()
);
・イベントを取るとき
イベントの場合Category,Action,Label,Valueの4つの値を取得する事ができます。Category,Action,LabelはString型、ValueはLong型となり、Category,Actionは必須、Label,Valueは任意の項目となっています。
例えばボタンを押したイベントを取りたいときは、そのボタンのonClick()内に以下の様なコードを記述します。
@Override
public void onClick(View v) {
  EasyTracker easyTracker = EasyTracker.getInstance(this);
  easyTracker.send(MapBuilder
      .createEvent("イベントカテゴリ名",
                   "イベントアクション名",
                   "イベントラベル名",
                   イベントバリュー)
      .build()
  );
}
この様なクラスを作ったら楽チンでした。
public class GoogleAnalyticsUtil {
    Context mContext;
    public GoogleAnalyticsUtil(Context context) {
        mContext = context;
    }
    /**
     * GoogleAnalyticsにスクリーンビューを送る
     *
     * @param screenName
     */
    public void sendScreenView(String screenName) {
        Tracker easyTracker = EasyTracker.getInstance(mContext);
        easyTracker.set(Fields.SCREEN_NAME, screenName);
        easyTracker.send(MapBuilder.createAppView().build());
    }
    /**
     * GoogleAnalyticsにイベントを送る
     *
     * @param eventCategory
     * @param eventAction
     * @param eventName
	 * @param eventValue
     */
    public void sendEvent(String eventCategory, String eventAction, String eventName, long eventValue) {
        Tracker easyTracker = EasyTracker.getInstance(mContext);
        easyTracker.send(MapBuilder
                .createEvent(eventCategory, eventAction, eventName, eventValue)
                .build()
                );
    }
}
以上です。
  