読者です 読者をやめる 読者になる 読者になる

Google Analytics SDK for Android v3の変更点とか -コード編-

Android
【投稿者:okano】

Google Analytics SDK for Android v3の記事を前に少し
紹介したので、続きを書きたいと思います。

前のやつ
Google Analytics SDK for Android v3の変更点とか -analytics.xml編-

・EasyTracker
EasyTrackerのgetInstanceメソッドに引数が追加されてます。
getInstanceメソッドにv3からはContextを渡す必要があります。
そんなに影響がない感じですね。

v2のコード
// v2
EasyTracker.getInstance().activityStart(this);
EasyTracker.getInstance().activityStop(this);

v3のコード
// v3
EasyTracker.getInstance(this).activityStart(this);
EasyTracker.getInstance(this).activityStop(this);

・スクリーン名の設定と送信
v2であったTrackerのsendViewがなくなってます。
メソッドがまったく別物になるのは、影響が大きいですね。

その代わりに、Trackerにsetメソッドが追加されてます。
このsetメソッドは、Fieldsの定数で設定するみたいです。
Fieldsもv3から追加されたクラスだと思います。

v2のコード
// v2
Tracker v2EasyTracker = EasyTracker.getInstance().getTracker(this);
v2EasyTracker.sendView("Home");

v3のコード
// v3
Tracker v3EasyTracker = EasyTracker.getInstance(this);
v3EasyTracker.set(Fields.SCREEN_NAME, "Home");// スクリーン名設定

v3EasyTracker.send(MapBuilder.createAppView().build());// 送信

v3では、設定する処理と送る処理が別々になっています。
Fieldsには、定数が用意されており、設定項目がいっぱいあります。

setメソッドは、基本的に以下のように使うのかと。
// v3
Tracker v3EasyTracker = EasyTracker.getInstance(this);
v3EasyTracker.set(設定項目,設定する値);

・イベントの送信
v2であったイベント送信をするsendEventメソッドもなくなってます。
v3では、MapBuilderのcreateEventを使うことになります。

v2のコード
Tracker v2EasyTracker = EasyTracker.getInstance().getTracker(this);
v2EasyTracker.sendEvent("ui_action", "button_press", "play_button", 0);

v3のコード
Tracker v3EasyTracker = EasyTracker.getInstance(this);
v3EasyTracker.send(MapBuilder.createEvent("ui_action", "button_press", "play_button", null).build());

v2とかなり変わってますね…。
特に第4引数の、オプション値がlongからLongに変わってます。
プリミティブ型からオブジェクト型に変更されているわけです。
何も設定したくない場合は、nullでいいと思います。

ちなみに、v3ではMapBuilderに色々機能がまとまっている感じになってます。

まだまだv3の機能はいっぱいありますが、今回はこれくらいで!
これ以上v3について書くことなさそうですが、何かあればまた!