Android Google 分析 xml 文件

Android Google Analytics xml file

我正在读一本新的 google tutorial for Android analytics,这很奇怪,首先当我在我的 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 教程更好。

更新

This approach 有更好的文档,如果 some1 很有趣的话。

我同意你的看法。新文档不是很有用。

这是我的应用程序 class,您所需要的只是基本集成,不需要任何其他东西。甚至不需要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);
    }

}

同时在 "build.gradle" 中保留 'com.google.android.gms:play-services-analytics:7.3.0' 依赖项。

编辑:我认为我的回答不再有效。不要强迫,只使用 json 文件 :)

在 Google Analytics 的 V4 中,Google 对方法进行了各种更改。它们会生成一个 google-services.json 文件,您可以下载该文件并将其添加到您的项目中;这是有关各个步骤的权威指南 https://developers.google.com/analytics/devguides/collection/android/v4/starthttps://developers.google.com/analytics/devguides/collection/android/v4/

然而,与这里的其他人一样,当我使用来自 Google 的应用程序对象的示例代码时,出现 R.xml.global_tracker 的编译错误。在 Android Studio 中,我决定 'clean' 这个项目,结果成功了。不管魔法如何运作,xml 对象现在作为 R.java

的一部分生成

供参考:我在 OSX 上 运行 Android Studio 2.2.3。据推测,修复应该适用于未来的实例和其他 OS,直到 Google 再次改变他们的做法。

创建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.