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

このガイドでは、アナリティクスを Android アプリに追加して、名前付きのスクリーンに対するユーザー行動を測定する方法について説明します。アプリを作成する前にアナリティクスの仕組みを確認するには、サンプルアプリをご覧ください。

必須: 最新版の Android Studio および Google Play 開発者サービス

プロジェクトを設定する

プロジェクトの 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>

Gradle 向け Google サービス プラグインは、google-services.json ファイルの設定情報を解析します。プラグインをプロジェクトに追加するには、次のように最上位の build.gradle ファイルとアプリ単位の build.gradle ファイルを更新します。

  1. プロジェクト最上位の build.gradle に依存関係を追加します。
    classpath 'com.google.gms:google-services:3.0.0'
  2. アプリ単位の build.gradle の最下位にプラグインを追加します。
    apply plugin: 'com.google.gms.google-services'

ここで、Google Play 開発者サービスの依存関係を追加する必要があります。アプリの build.gradle 内に、次のコードを 追加します。

compile 'com.google.android.gms:play-services-analytics:9.2.0'

設定ファイルを取得する

下のボタンをクリックして設定ファイルを取得し、プロジェクトに追加します。

設定ファイルには、アプリで使用するサービス固有の情報が記載されています。取得するには、アプリの既存のプロジェクトを選択するか、新しいプロジェクトを作成する必要があります。アプリのパッケージ名も指定する必要があります。

設定ファイルを取得

設定ファイルをプロジェクトに追加する

ダウンロードした google-services.json ファイルを Android Studio プロジェクトの app/ または mobile/ ディレクトリにコピーします。Android Studio の [Terminal] ペインを開きます。

Mac / Linux
$ mv path-to-download/google-services.json app/
Windows
$ move path-to-download/google-services.json app/

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

ここでは、ユーザーがアプリのスクリーンを開くか変更するたびに、名前付きのスクリーン ビューをアナリティクスに送信するよう設定します。次の内容をコードに追加します。

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

アプリ

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 Tracker mTracker;

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

Activity または Fragment

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

トラッキングする Activity または FragmentonCreate メソッドをオーバーライドして、Tracker インスタンスを取得します。

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

ActivityonResume や、ViewPageronPageSelected などの適切なメソッドをオーバーライドして、スクリーンの変化時にログを記録します。

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

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

イベントを送信する

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

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

次のステップ

  • Google アナリティクスを使用してユーザーの接点を測定する方法と、アプリの使用状況に関する質問の回答については、モバイルアプリ実装ガイドをご覧ください。
  • サンプリング、テストとデバッグ、オプトアウト設定などの追加の設定オプションを確認します。
  • アプリで広告 ID を収集する必要がある場合は、アプリの 広告向けの機能を有効にします。