Google Analytics Android #1 アプリの使用状況を簡単に計測してみよう
Google Analytics とは
Google Analytics とはアプリの操作をトラッキング(追跡)し、使用状況を調査するためのサービスです。任意の処理に埋め込むことで、ある操作が行われた回数や Activity のページビューなど、さまざまな使用状況のデータを計測することができます。以下のような計測が可能です!
- アプリのアクティブユーザー数
- アプリが使われている地域
- 特定の機能の使いかた
- アプリ内課金や販売
- アプリのクラッシュ数・種類
- その他いろいろ
先日、平屋が Google Analytics iOS SDK の導入編を執筆しましたが、本記事では Android に組み込んでみたいと思います。概要はそちらを参照してください。
Google Analytics アカウント作成・ライブラリの導入
まずは Google Analytics へのサービス登録が必要です。以下のURLにアクセスしてアカウントを作成します。
http://www.google.com/intl/ja_jp/analytics/
こちらに分かりやすく記載されているので参考にしながらアカウントを作成してください。登録後 Google Analytics Android SDK をダウンロードしてください。またトラッキングIDは実装で必要になるので、今のうちにメモっておいてください。
ダウンロードしたファイルを解凍し libGoogleAnalyticsV2.jar ファイルを自分の Android アプリプロジェクトの libs フォルダに入れて、導入完了です!
EasyTracker で計測する
まずは AndroidManifest.xml に以下のパーミッションを追加します。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
次に values フォルダに analytics.xml ファイルを作成し、以下のようにします。
<?xml version="1.0" encoding="utf-8" ?> <resources xmlns:tools="https://schemas.android.com/tools" tools:ignore="TypographyDashes"> <!-- アカウントのトラッキングID --> <string name="ga_trackingId">UA-XXXX-Y</string> <!-- Activityの自動トラッキング --> <bool name="ga_autoActivityTracking">true</bool> <!-- Exceptionの自動トラッキング --> <bool name="ga_reportUncaughtExceptions">true</bool> </resources>
あとは Activity に実装します。今回は onStart() と onStop() のタイミングで計測してみましょう。適当な Activity に以下のように実装します。
MainActivity.java
package jp.classmethod.android.sample.analytics; import android.app.Activity; import android.os.Bundle; import com.google.analytics.tracking.android.EasyTracker; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onStart() { super.onStart(); EasyTracker.getInstance().activityStart(this); } @Override protected void onStop() { super.onStop(); EasyTracker.getInstance().activityStop(this); } }
今回、簡単に計測するために EasyTracker というクラスを使います。このクラスはシングルトンになっているようなので EasyTracker.getInstance() で取得します。activityStart() で Acticity を開始したタイミング、activityStop() で Activity が終了したタイミングを計測しています。このメソッドは任意のタイミングで埋め込めるので、もし onStart() で何かしらの処理を実装していた場合、その処理の前に計測するか、その処理の後に計測するか自由に選択できます。また Activity ではない、何らかのクラスで呼び出したいときには以下のようにします。
Context context = this; // 現在のContext EasyTracker.getInstance().setContext(context);
計測結果を確認する
それでは計測結果を確認してみましょう。アプリを数回実行しておき、以下のURLにアクセスします。
https://www.google.com/analytics/web/?hl=ja&pli=1#report/app-visitors-overview/
アクティブユーザーが計測されていますね!ユーザーサマリを見てみると、地域、アプリバージョン、新規ユーザーやリピーターの割合などさまざまな計測データを確認することができます。
まとめ
Google Analytics Android SDK には EasyTracker という簡単に計測するためのクラスがあるので、導入コストはかなり少ないです。Google Play Developer Console のインストール数を眺めているだけではなく、もっと詳細な利用状況を計測してみてはいかがでしょうか?