android - Android 库模块中的 Google Analytics Tracker 文件

标签 android google-analytics

我正在尝试将我的 Google Analytics(分析)代码从我的主应用程序(com.xyz 包)拆分为一个单独的模块(com.abc 包)。我面临这些问题:

  1. 我应该为应用程序模块或库模块生成跟踪器吗?
  2. 我应该把这个跟踪器放在哪里 - 应用程序或库模块?
  3. 我的目标是通过一些接口(interface)在库模块中包含所有 Analytics 创建和处理逻辑。我也想将这个库用于我的其他项目;所以我不想将跟踪器文件放在库模块本身中。有没有一种方法可以在库模块中初始化跟踪器,但将 XML 文件保留在应用程序模块中?

我尝试过(但失败了):

  1. 我已经为 com.abc 和 com.xyz 生成了跟踪器文件
  2. 我已经尝试了两个模块中两个文件的所有排列;但是库模块无法解析 R.xml.global_tracker。作为 Google Analytics 的新手,我不知道是否必须复制/粘贴任何跟踪器文件。在我制作库模块之前,R.xml.global_tracker 在主模块中自动解析。

最佳答案

而不是使用 R.xml.global_tracker。您可以在您的 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
        analytics.setLocalDispatchPeriod(1800);
        mTracker = analytics.newTracker("Tracker code");
        analytics.setLocalDispatchPeriod(1);
        mTracker.enableExceptionReporting(true);
        mTracker.enableAdvertisingIdCollection(true);
        mTracker.enableAutoActivityTracking(false);
    }
    return mTracker;
}

然后像这样在 Activity/fragment 中使用它:

    MyApplication application = (MyApplication ) context.getApplication();
    Tracker mTracker = application.getDefaultTracker();
    mTracker.setScreenName(name);
    mTracker.send(new HitBuilders.ScreenViewBuilder().build());

这可能会解决您的问题,但未针对您的情况进行测试。

关于android - Android 库模块中的 Google Analytics Tracker 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35378297/

相关文章:

android - Firebase 无效 key : . key 不得包含 '/'、 '.'、 '#'、 '$'、 '[' 或 ']'

php - 如何通过谷歌分析知道有多少收件人打开了电子邮件?

android - Google 登录错误 12500

java - 保存和恢复ArrayList

android - 事件的最后编辑? Android 日历提供商

android - 以编程方式获取 Android MIUI 版本信息

iphone - 在 Google Analytics 报告中,访问次数即将到来,但没有 PageViews 的数据

python - 对 csv 文件的第一列进行硬编码,然后使用 Python 导入 google 分析

javascript - 在谷歌分析中发送字符串值

google-analytics - 具有固定网址的Google Analytics(分析)