Подтвердить что ты не робот

XML файл Android Google Analytics

Я читаю новый учебник Google для Android-аналитики, и это странно, прежде всего, когда я добавляю эти строки в свой gradle

classpath 'com.google.gms:google-services:1.3.0-beta1'
apply plugin: 'com.google.gms.google-services'

Я не могу синхронизировать мой проект (ошибка не найдена плагином). Я не знаю, важно это или нет. Я могу добавить compile 'com.google.android.gms:play-services-analytics:7.3.0'. И, во-вторых, в учебнике есть шаг, на котором я должен подклассы Application:

package com.google.samples.quickstart.analytics;

import android.app.Application;

import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Logger;
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;
  }
}

И я не могу понять, где взять файл R.xml.global_tracker? Я думал, что буду использовать json файл, который я создал ранее. У кого-то столкнулись с этой проблемой? Это смешно, но для iOS учебник был лучше.

Обновление

Этот подход имеет лучшую документацию, кстати, если some1 интересен.

4b9b3361

Ответ 1

Я согласен с тобой. Новая документация не очень полезна.

Вот мой класс приложения, и все, что вам нужно, это то, что вам не нужна никакая другая вещь для базовой интеграции. Даже не нужен xml. Используйте этот объект трекера, где хотите.

import android.app.Activity;
import android.content.Context;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
import java.io.IOException;

public class Application extends android.app.Application {

    public static GoogleAnalytics analytics;
    public static Tracker tracker;

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

        analytics = GoogleAnalytics.getInstance(this);
        analytics.setLocalDispatchPeriod(1800);
        tracker = analytics.newTracker("UA-XXXXXX-X");
        tracker.enableExceptionReporting(true);
        tracker.enableAdvertisingIdCollection(true);
        tracker.enableAutoActivityTracking(true);
    }

}

Также сохраняйте зависимость "com.google.android.gms: play-services-analytics: 7.3.0" в вашем "build.gradle".

Изменить: я думаю, что мой ответ уже недействителен. Не нажимайте и не используйте json файл:)

Ответ 2

С помощью V4 Google Analytics Google внедрил различные изменения в этом подходе. Они генерируют файл google-services.json, который вы загружаете и добавляете в свой проект; вот окончательные руководства на разных этапах https://developers.google.com/analytics/devguides/collection/android/v4/start и https://developers.google.com/analytics/devguides/collection/android/v4/

Однако, как и остальные люди здесь, когда я использовал образец кода для объекта приложения из Google, произошла ошибка компиляции для R.xml.global_tracker. В Android Studio я решил "очистить" проект, и это сделало трюк. Однако магия работает, объект xml теперь создается как часть R.java

Для справки: я запускаю Android Studio 2.2.3 на OSX. Предположительно, исправление должно работать в будущих экземплярах и других ОС, пока Google не изменит свою практику снова.

Ответ 3

Создать 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>
Replace ${YOUR_TRACKING_ID} with your tracking ID.