Android アプリにアナリティクスを追加する

このガイドでは、アナリティクスを Android アプリに追加して、名前付き画面へのユーザー アクションを測定する方法について説明します。アプリケーションがまだ存在しない場合、Google アナリティクスの仕組みを確認するには、サンプル アプリケーションをご覧ください。

必須: 最新バージョン:

プロジェクトを設定する

プロジェクトの AndroidManifest.xml ファイルを更新して、INTERNET 権限と ACCESS_NETWORK_STATE 権限を追加します。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.analytics">

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

  <application android:name="AnalyticsApplication">
    ...
  </application>
</manifest>

プロジェクト レベルの build.gradle に次の依存関係を追加します。

dependencies {
  // ...
  classpath 'com.google.gms:google-services:3.0.0'
}

Google Play 開発者サービスに対する次の依存関係を app/build.gradle に追加します。

dependencies {
  // ...
  compile 'com.google.android.gms:play-services-analytics:10.2.4'
}

global_tracker.xml の作成

app/src/res/xml/global_tracker.xml ファイルを作成し、次の内容を追加します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="ga_trackingId" translatable="false">${YOUR_TRACKING_ID}</string>
</resources>

${YOUR_TRACKING_ID} は、トラッキング ID に置き換えてください。

スクリーン トラッキングを追加する

ここでは、ユーザーがアプリの画面を開いたり変更したりするたびに、名前付きスクリーン ビューをアナリティクスに送信します。コードは、次のようにする必要があります。

  • Application サブクラスを使用して共有トラッカーを指定する。
  • フォアグラウンド Activity のコールバック メソッドをオーバーライドする。
  • スクリーンの名前を設定して、トラッキングを実行する。

Application(アプリケーション)

Application をサブクラス化して、アプリのトラッカーを返すヘルパー メソッドを提供する必要があります。</>

/*
 * Copyright Google Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;

/**
 * This is a subclass of {@link Application} used to provide shared objects for this app, such as
 * the {@link Tracker}.
 */
public class AnalyticsApplication extends Application {

  private static GoogleAnalytics sAnalytics;
  private static Tracker sTracker;

  @Override
  public void onCreate() {
    super.onCreate();

    sAnalytics = GoogleAnalytics.getInstance(this);
  }

  /**
   * Gets the default {@link Tracker} for this {@link Application}.
   * @return tracker
   */
  synchronized public Tracker getDefaultTracker() {
    // To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
    if (sTracker == null) {
      sTracker = sAnalytics.newTracker(R.xml.global_tracker);
    }

    return sTracker;
  }
}

Activity または Fragment

トラッキングする Activity を開きます。Fragment をトラッキングすることもできますが、スクリーン ビューが正しく表されていることを確認してください。

追跡する Activity または FragmentonCreate メソッドをオーバーライドして、共有 Tracker インスタンスを取得します。

// Obtain the shared Tracker instance.
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();

適切なメソッド(Activity の場合は onResume、画面が変更されたときに ViewPager をログに記録する場合は onPageSelected など)をオーバーライドします。

Log.i(TAG, "Setting screen name: " + name);
mTracker.setScreenName("Image~" + name);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());

画面を表すすべての Activity または Fragment にトラッキング コードを追加します。アナリティクスでアプリのスクリーン ビューを区別する場合は、すべての Activity または Fragment 内で名前を設定します。共有トラッカーに記録されたすべてのアクティビティは、置換またはクリア(null に設定)されるまで、最新のスクリーン名を送信します。

イベントを送信する

イベントを送信するには、トラッカーのスクリーン フィールドの値を設定してから、ヒットを送信します。 次の例では、HitBuilders.EventBuilder を使用して Event を送信しています。

mTracker.send(new HitBuilders.EventBuilder()
    .setCategory("Action")
    .setAction("Share")
    .build());

次のステップ

  • モバイルアプリの実装ガイドを読み、Google アナリティクスを使ってユーザーの操作を測定したり、アプリの利用状況に関する質問に答えたりする方法を確認する。

  • サンプリング、テストとデバッグ、オプトアウト設定など、その他の構成オプションを確認します。

  • アプリで広告 ID を収集する必要がある場合は、アプリで広告向けの機能を有効にします。