|
タグ:
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()
);
}
}
以上です。
