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