使用XML配置文件设置Google Analytics SDK4 Android

时间:2014-07-31 04:05:29

标签: android xml google-analytics

我在运行Analytics SDK4时遇到了一些麻烦。我希望Google Analytics捕获所有未捕获的异常,因此我必须根据文档执行以下操作:

“要使用ga_reportUncaughtExceptions值自动发送应用中所有未捕获的异常,请将此行添加到XML配置文件中:”

<bool name="ga_reportUncaughtExceptions">true</bool>

我之前没有使用XML配置文件进行分析,至少可以说它的信息很少。首先,我只想要一个跟踪器,我正在使用的应用程序不使用电子商务,因为它是目前唯一使用Google Analytics的应用程序,我不需要全球跟踪器,对吗?

所以,根据文档:

“如果你有一个全局跟踪器,你可以在项目的res / xml目录中创建一个名为global_tracker.xml的文件,并添加以下资源:”

我没有,我只需要一个app_tracker atm,所以我创建了app_tracker.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="ga_sessionTimeout">300</integer>
    <screenName name="com.blabla.project">Main ScreenView</screenName>
    <string name="ga_trackingId">XXXXXXXX</string>
    <bool name="ga_reportUncaughtExceptions">true</bool>
</resources>

现在,我之前获得过跟踪器的参考方式是使用

  tracker = GoogleAnalytics.getInstance(this).newTracker("XX-XXXXXX-X");

有关如何获取我在文档中找到的跟踪器的参考的其他示例是:

Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
        TrackerName.APP_TRACKER);

Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
      : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
          : analytics.newTracker(R.xml.ecommerce_tracker);

最后一个是多跟踪器设置的一部分,我没有使用,第一个不工作(为什么我需要转换为AnalyticsSampleApp?),getApplication())。getTracker不能解决..

所以,我的问题:我是否采取了正确的方法,只想让一个跟踪器开始?我怎么能得到一个参考跟踪器的参考。是否由于XML配置文件而自动创建了跟踪器,我是否以某种方式获取它,或者我是否必须实例化一个新的,如果是这样,我将如何使用配置文件中的密钥,而不是放置它在手动?我甚至无法得到一个R.string.ga_trackingId ref,为什么会这样?我看到的一些例子说我也需要使用

<meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/app_tracker" />

在我的清单的应用程序元素中。虽然文档没有提及有关清单的任何内容。

为什么他们不能像Easy Tracker那样简单地离开它? :D任何帮助将非常感谢!我不能在树林里看到谚语树,可以这么说。

提前致谢!

2 个答案:

答案 0 :(得分:1)

如果您只需要使用APP_TRACKER,

然后使用此方法:

  synchronized Tracker getTracker(TrackerName trackerId) {
    if (!mTrackers.containsKey(trackerId)) {

      GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
      analytics.getLogger().setLogLevel(LogLevel.VERBOSE);
      Tracker t = null;
      if(trackerId==TrackerName.APP_TRACKER){
          t= analytics.newTracker(PROPERTY_ID);
      }
      mTrackers.put(trackerId, t);

    }
    ////
    return mTrackers.get(trackerId);
  }

Property_id是您在此处设置Google Analytics(分析)属性后获得的ID:https://support.google.com/analytics/answer/1042508

答案 1 :(得分:0)

使用@Richa编写的内容,但不是从没有配置任何内容的字符串资源(PROPERTY_ID)创建Tracker,而是为了膨胀xml配置文件:

Tracker t = analytics.newTracker(R.xml.default_tracker)

您必须在xml中定义分析ID,因为它会在分析帐户中对您进行身份验证。

有关详细信息,请参阅基本配置的完整示例:https://developers.google.com/analytics/devguides/collection/android/v4/