繁体   English   中英

Google Analytics v4 Android HitBuilder

[英]Google Analytics v4 Android HitBuilder

我发现 android 的谷歌分析官方指南 ( https://developers.google.com/analytics/devguides/collection/android/v4/ ) 缺乏全面的例子。 到目前为止,试图实施它一直令人困惑。

首要问题:

这就是我在 Application 子类中的 getTracker 的样子

public synchronized Tracker getTracker() {

    if (_globalTracker == null) {
        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        return analytics.newTracker(R.xml.global_tracker);
    }
    return _globalTracker;
}

但是 eclipse 说“global_tracker 无法解析或不是一个字段”,即使我已经创建了一个名为 global_tracker.xml 的 XML 文件——它在教程中的 res/xml 下

第二个问题:

在我的一项活动中,我尝试让跟踪器发送屏幕视图,如教程中所述:

// Get tracker.
    Tracker t = ((StorageApplication) getApplication()).getTracker();

    // Send a screen view.
    t.send(new HitBuilders.AppViewBuilder().build());

不幸的是,eclipse 说“HitBuilders 无法解析为类型”,即使我很确定我已经正确导入和引用了谷歌播放服务和分析(我也使用来自谷歌播放服务的地理定位和其他服务,它们都可以工作;分析是正确导入,因为解析 Tracker 没有问题)。

有人有任何指示吗? 我真的很感谢你的帮助——一直想知道为什么这如此令人困惑!

如果有人想将 Eclipse 用于他/她的应用程序,解决方案是这样的:

为了修复它,您必须将这些库导出到 Eclipse 工作区:

play-services-analytics-impl-9.8.0.arrplay-services-analytics-9.8.0.arr

使用这个答案

https://stackoverflow.com/a/33117095/1979882

简而言之,为了避免 DEX 文件中的类(大约 65000 个类)的限制,播放服务库被分成了几个库。 因此,您也必须以相同的方式导出最常见的库:

play-services-maps-9.8.0play-services-base-9.8.0play-services-basement-9.8.0play-services-ads-lite-9.8.0

对于第一个问题:eclipse 是否也抱怨其他资源 ID? 在 eclipse 中显示资源 ID 之前,您必须编译一次应用程序。

对于第二个问题:

如果不是很大,你可以发布完整的课程吗?

另外,就因为我不得不问,您能否确认您使用的是 sdk 的播放服务版本并包含来自正确库的类? 您为这些类导入的包是什么?

ps:一旦我有更多信息,我会更新我的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM