Tips : Google Analytics V4を使ってScreen Viewを取得してみる

ほぼ公式サイトの内容そのままですが、Google Analyticsを使ってみたので、メモしておきます。 最新はV4で、公式サイトはこちらになります。

この記事では、Google Analyticsのサービスに登録し、Property IDを取得してあることを前提としてます。

2024/1/18更新

読者の方からGoogle Analyticsに関する情報を頂きましたので、追記しておきます。

Ultimate Beginner’s Guide to Google Analytics 4 (NEW 2024 Interface)

2024年の最新情報に基づいた詳細なガイドになっていますので、こちらも合わせて参照ください。(こちらは英語サイトになります。)

Google Analytics V4 ライブラリを組み込む

Google Analytics V4はGoogle Play services SDKに含まれています。これまでは別途Analytics用ライブラリが配布されていたようですが、V4からはSDK Managerから最新版のPlay Serviceを導入することで利用できるようです。

Google Play servicesを利用するには、まずGoogle RepositoryGoogle Support Repositoryをインストールする必要があります。

SDK ManagerのExtraからGoogle RepositoryGoogle Support Repositoryを選択してインストールします。 Google Play serviceがサポートライブラリに依存しているため、その解決のためにGoogle Support Repositoryが必要になります。

Gradleで依存関係を解決するには、build.gradleに下記のように指定します。

1
2
3
4
dependencies {
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.google.android.gms:play-services:5.0.77'
}

Android StudioではGradleを使って依存関係を解決してくれます。先ほどダウンロードしたローカルリポジトリが参照されるため、ここではGoogle Play servicesを直接SDK Managerからダウンロードする必要はありません。

Trackerの準備をする

V3を入れてみたときは、EasyTrackerが簡単なScreen Viewを取得する例だったのですが、V4だとApplicationクラスにTrackerを取得するためのコードを記載して、同一アプリ内からTrackerを取得して収集するという形が推奨されています。

公式サイトの例よりちょっと省略します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
public class AnalyticsApplication extends Application{

    private static final String PROPERTY_ID = 'UA-XXXXXXXX-Y';

    Tracker mTracker;

    public AnalyticsApplication() {
        super();
    }

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

GoogleAnalytics#newTracker()の引数に取得しておいたProperty IDを指定します。

AndroidManifest.xmlに、下記を追記します。上記で作成した独自Applicationクラスを継承し、Analyticsが要求するPermissionを指定します。

1
2
3
4
5
6
7
8
  <uses-permission android:name='android.permission.INTERNET'/>
  <uses-permission android:name='android.permission.ACCESS_NETWORK_STATE'/>

  <application android:name='.AnalyticsApplication'
           android:label='@string/app_name'
           android:icon='@drawable/ic_launcher' >
    ....
  </application>

これで、Trackerの準備ができました。

Screen Viewを取得する

取得したいスクリーンでTrackerを取得し、情報を送信します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
    @Override
    protected void onStart() {
        super.onStart();
        // Get tracker.
        Tracker t = ((AnalyticsApplication) getApplication()).getTracker();

        // Set screen name.
        // Where path is a String representing the screen name.
        t.setScreenName('MyActivity');

        // Send a screen view.
        t.send(new HitBuilders.AppViewBuilder().build());
    }

上の例ではActivityのonStart()のタイミングでMyActivityというスクリーンを送付しています。

これで完了です。実際に実記にインストールし、データが送付できているか試してみましょう。 何度か対象のActivityに入ったり出たりした後、Google AnalyticsサイトのBehavior > Screensのページを確認します。 自分が送付したScreenName(ここでは"MyActivity")と表示回数が表示されていれば成功です。

まとめ

Google AnalyticsはV4からlibを手動で組み込まなくてよいので、バージョン追従とか依存解決とか楽になるのでいい感じです。

この記事ではダウンロードしなかった、Google Play servicesをSDK Managerからダウンロードするとサンプルコードが読めます。 サンプルは、<android sdk root>/extras/google/google_play_services/samples/analytics以下にダウンロードされます。 Screen View以外の実装もされていて、APKにして自分のProperty IDで動作させるといろいろ動作確認できるので参考になります。

Built with Hugo
テーマ StackJimmy によって設計されています。