kojiko-android’s blog

開発中にハマった時の解決策や、忘れがちなことを残しておきます。

Android studio アナリティクスSDKを組み込む方法

Android studioで、アプリにアナリティクスSDKを組み込んで分析できるようにする。


(GooglePlayServiceライブラリ導入等は端折ります。)

1.マニフェストにネットワーク権限のパーミッションを許可
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

2.設定xmlをつくる

res/xmlフォルダに、リソースのxmlファイルを新規作成する

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="ga_sessionTimeout">300</integer>
    <bool name="ga_autoActivityTracking">true</bool>
    <screenName name="com.MainActivity">解析に表示させたい任意のスクリーン名</screenName>
    <string name="ga_trackingId">ここにトラッキングID</string>
</resources>

4.Applicationを継承したクラスをつくる。

import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;

public class MyApplication extends Application {
    Tracker mTracker;
    public MyApplication(){
    super();
    }

    synchronized Tracker getTracker(){
        if (mTracker == null){
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        mTracker = analytics.newTracker(R.xml.app_tracer);
        }
        return mTracker;
    }
}



5.マニフェストにMyApplicationを宣言する
<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
    android:name=".MyApplication">

6.アクティビティに分析開始、終了のコードを記述

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    (MyApplication)getApplication()).getTracker();

}

@Override
protected void onStart() {
    super.onStart();
    GoogleAnalytics.getInstance(this).reportActivityStart(this);
}

@Override
protected void onStop() {
    GoogleAnalytics.getInstance(this).reportActivityStop(this);
    super.onStop();
}

これで、アナリティクスで分析できるようになります。
リアルタイムを開いた状態で、アプリを起動すると10秒くらいで表示されます。
開発中でも表示されるので、正しく実装できたか確認できます。
 (自分の場合はなぜか、実装した次の日くらいから表示されるようになりました。)

ボタンクリック時等のイベントをトラッキングする
    Tracker tracker = ((MyApplication)getApplication()).getTracker();
    tracker.send(new HitBuilders.EventBuilder()
           .setCategory("Category")
           .setAction("Action")
           .setLabel("Label")
           .build());

よく使われる機能の分析に。



L-tan's Tearoom ~Mint-tea~ さまのサイトがとてもわかりやすく、参照させていただきました。
ありがとうございました!
Android StudioでGoogle Analytics v4を組み込んだメモ | L-tan's Tearoom ~Mint-tea~