[英]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.arr
和play-services-analytics-9.8.0.arr
使用这个答案
https://stackoverflow.com/a/33117095/1979882
简而言之,为了避免 DEX 文件中的类(大约 65000 个类)的限制,播放服务库被分成了几个库。 因此,您也必须以相同的方式导出最常见的库:
play-services-maps-9.8.0
、 play-services-base-9.8.0
、 play-services-basement-9.8.0
、 play-services-ads-lite-9.8.0
对于第一个问题:eclipse 是否也抱怨其他资源 ID? 在 eclipse 中显示资源 ID 之前,您必须编译一次应用程序。
对于第二个问题:
如果不是很大,你可以发布完整的课程吗?
另外,就因为我不得不问,您能否确认您使用的是 sdk 的播放服务版本并包含来自正确库的类? 您为这些类导入的包是什么?
ps:一旦我有更多信息,我会更新我的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.