GoogleAnalytics v4をAndroidに導入してみました。
アプリの利用状況なんかがわかるのはすごくいいので、是非アプリ公開前にはGoogleAnalyticsを導入してみてはいかがでしょうか?
ではさっそく忘れない内に手順を書いてみようと思います。
まずGoogleAnalyticsに登録しましょう。
http://www.google.com/analytics/ に行き、アカウント作成します。
ここでモバイルアプリを選択し、任意のアカウント名(複数作成できます)、アプリ名などを入力してトラッキングIDを取得します。
トラッキングIDを取得したらGoogleAnalyticsの登録は以上です。
では、次にGoogleAnalyticsをアプリへ組み込んでいきます。
▶︎GooglePlayServicesを導入します。
File -> Project Structure -> Dependencies内に左下の+ボタンからLibrary Dependencyを選択し
GooglePlayServiceを導入します。
build.gradleに入っていればOKです。
▶︎Manifestへ以下を追記します。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
applicationタグ内に
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
を追加します。
▶︎res/xml内に以下のxmlファイルを作成します。
<resources>
<!-- How long a session exists before giving up -->
<integer name="ga_sessionTimeout">300</integer>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- The screen names that will appear in reports -->
<screenName name=“com.example.activity.HogeActivity“>
</screenName>
<!-- The following value should be replaced with correct property id. -->
<string name=“ga_trackingId”>UA-XXXXXXX-X</string>
</resources>
<resources>
<integer name="ga_sessionTimeout">60</integer>
<!-- The following value should be replaced with correct property id. -->
<string name="ga_trackingId">UA-XXXXXXX-X</string>
</resources>
▶︎Applicationを継承したクラスを作成します。
public class App extends Application {
private static final String PROPERTY_ID = "UA-xxxxxxxx-x";
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
@Override
public void onCreate() {
super.onCreate();
}
public synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
: (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
: analytics.newTracker(R.xml.ecommerce_tracker);
t.enableAdvertisingIdCollection(true);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
▶︎ActivityのonStart内で
Tracker t = ((App)getApplication()).getTracker(App.TrackerName.APP_TRACKER);
t.setScreenName(this.getClass().getSimpleName());
t.send(new HitBuilders.AppViewBuilder().build());
以上でGoogleAnalyticsのレポートが取得できると思います。
無料なのでどんどん活用していきたいと思います。