Добавьте аналитику в свое приложение для Android

В этом руководстве показано, как добавить Analytics в ваше приложение для Android, чтобы отслеживать активность пользователей на именованных экранах. Если у вас еще нет приложения и вы просто хотите посмотреть, как работает Analytics, взгляните на наш пример приложения .

Требуется : Последние версии:

Настройте свой проект

Обновите файл 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} своим идентификатором отслеживания.

Добавить отслеживание экрана

Здесь вы будете отправлять именованный вид экрана в Analytics каждый раз, когда пользователь открывает или меняет экраны в вашем приложении. Ваш код должен делать следующее:

  • Предоставьте общий трекер через подкласс 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;
  }
}

Действие или фрагмент

Откройте активность, которую вы хотите отслеживать. Вы также можете отслеживать Fragment , но убедитесь, что он правильно представляет вид экрана.

Переопределите метод onCreate Activity или Fragment , который вы хотите отслеживать, чтобы получить общий экземпляр Tracker :

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

Переопределите соответствующий метод, например onResume для Activity или onPageSelected для ViewPager , для регистрации при изменении экрана.

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

Добавьте код отслеживания к каждому Activity или Fragment , представляющему экран. Обязательно задайте имя внутри каждого Activity или Fragment , если вы хотите различать виды экрана для вашего приложения в Analytics. Все действия, записанные на общем трекере, отправляют самое последнее имя экрана до тех пор, пока оно не будет заменено или очищено (установлено значение null ).

Отправить событие

Чтобы отправить событие, задайте значения полей экрана на трекере, а затем отправьте хит. В следующем примере HitBuilders.EventBuilder используется для отправки Event :

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

Следующие шаги