43
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AndroidにGoogle Analytics v4を導入する

Last updated at Posted at 2015-02-27

GoogleAnalytics v4をAndroidに導入してみました。

アプリの利用状況なんかがわかるのはすごくいいので、是非アプリ公開前にはGoogleAnalyticsを導入してみてはいかがでしょうか?
ではさっそく忘れない内に手順を書いてみようと思います。

まずGoogleAnalyticsに登録しましょう。
http://www.google.com/analytics/ に行き、アカウント作成します。

スクリーンショット 2015-02-27 11.32.27.png
ここでモバイルアプリを選択し、任意のアカウント名(複数作成できます)、アプリ名などを入力してトラッキングIDを取得します。

スクリーンショット 2015-02-27 11.36.35.png

トラッキングIDを取得したらGoogleAnalyticsの登録は以上です。
では、次にGoogleAnalyticsをアプリへ組み込んでいきます。

▶︎GooglePlayServicesを導入します。
File -> Project Structure -> Dependencies内に左下の+ボタンからLibrary Dependencyを選択し
GooglePlayServiceを導入します。
build.gradleに入っていればOKです。

▶︎Manifestへ以下を追記します。

Manifest.xml
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

applicationタグ内に

Manifest.xml
    <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

を追加します。

▶︎res/xml内に以下のxmlファイルを作成します。

global_tracker.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>
ecommerce_tracker.xml
          <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を継承したクラスを作成します。

App.java
    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内で

MainActivity.java
      Tracker t = ((App)getApplication()).getTracker(App.TrackerName.APP_TRACKER);
      t.setScreenName(this.getClass().getSimpleName());
      t.send(new HitBuilders.AppViewBuilder().build());

以上でGoogleAnalyticsのレポートが取得できると思います。
無料なのでどんどん活用していきたいと思います。

43
45
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
43
45

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?