安卓谷歌分析XML文件

17

我正在阅读一份新的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教程来说更好一些。

更新

顺便提一下,这种方法有更好的文档,如果有人感兴趣。

3个回答

19

我同意你的观点。新的文档并不是很有帮助。

这是我的Application类,你只需要它就可以了,基本集成不需要其他东西,甚至不需要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文件 :)


你使用了JSON文件和插件吗? - Someone Somewhere
它开始在8.4.0及以上版本中发出有关分析的警告。因此,在升级我的8.4.0库后,我不得不添加JSON文件。 - asozcan

1
使用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提供的Application Object的示例代码时,在R.xml.global_tracker处出现了编译错误。在Android Studio中,我决定“清除”项目,问题得到解决。无论魔法如何运作,xml对象现在作为R.java的一部分生成。
参考文献:我正在OSX上运行Android Studio 2.2.3。可以假设此修复程序将在未来的实例和其他操作系统上工作,直到Google再次更改其做法。

0

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接