Tips : Google Analytics V4を使ってScreen Viewを取得してみる
ほぼ公式サイトの内容そのままですが、Google Analyticsを使ってみたので、メモしておきます。 最新はV4で、公式サイトはこちらになります。
この記事では、Google Analyticsのサービスに登録し、Property IDを取得してあることを前提としてます。
Google Analytics V4 ライブラリを組み込む
Google Analytics V4はGoogle Play services SDK
に含まれています。これまでは別途Analytics用ライブラリが配布されていたようですが、V4からはSDK Managerから最新版のPlay Serviceを導入することで利用できるようです。
Google Play services
を利用するには、まずGoogle Repository
とGoogle Support Repository
をインストールする必要があります。
SDK ManagerのExtraからGoogle Repository
とGoogle Support Repository
を選択してインストールします。
Google Play service
がサポートライブラリに依存しているため、その解決のためにGoogle Support Repository
が必要になります。
Gradleで依存関係を解決するには、build.gradleに下記のように指定します。
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を取得して収集するという形が推奨されています。
公式サイトの例よりちょっと省略します。
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を指定します。
<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を取得し、情報を送信します。
@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で動作させるといろいろ動作確認できるので参考になります。