作者:mobiledu2502884897 | 来源:互联网 | 2023-05-24 17:41
我按照本指南在我的Android应用中实施了Google Analytics.我无法理解该文件.
在文档中,它说创建一个XML文件,并将其作为内容:
SomeApp MainActivity
要发送屏幕视图,我必须这样做:
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER);
t.setScreenName(screenName);
t.send(new HitBuilders.AppViewBuilder().build());
但是,我不确定这screenName
应该是什么.是name
值(com.mycompany.myapp.MainActivity
)还是screenName
值(SomeApp MainActivity
)?
1> stkent..:
只要启用"自动活动跟踪",就会使用您描述的xml配置.每当活动开始时,此跟踪会自动报告新的屏幕视图,从而避免手动触发代码中的屏幕视图事件.
要启用自动活动跟踪,您可以ga_autoActivityTracking
在跟踪器的xml配置中将布尔值设置为true:
true
默认情况下,此自动报告工具将使用您的Activity类名称作为报告的屏幕名称(例如com.mycompany.myapp.MainActivity
).这些类名通常很长且难以阅读,因此Google允许我们为每个活动自定义报告的屏幕名称.这就是你问题的这一部分:
SomeApp MainActivity
使用此配置时,自动活动跟踪将在自动报告该活动的屏幕视图时使用字符串"SomeApp MainActivity"而不是"com.mycompany.myapp.MainActivity".
请务必注意,如果您不使用自动活动跟踪,则会忽略跟踪器xml中的任何屏幕名称配置.在这种情况下,每次以编程方式触发屏幕视图事件时,都必须指定屏幕名称.这就是你的代码示例中发生的事情:
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(TrackerName.APP_TRACKER);
t.setScreenName(screenName);
t.send(new HitBuilders.AppViewBuilder().build());
xml配置中的屏幕名称设置未在此代码中使用,因为它不是自动活动跟踪的一部分.相反,您必须在发送屏幕视图之前在跟踪器上手动设置屏幕名称.这比自动活动跟踪更灵活 - 例如,在片段繁重的应用程序中,可以通过片段事务而不是活动更改来执行导航.在这种情况下,单独跟踪活动更改不会适当地报告应用中的每个屏幕更改.自动活动跟踪应该比手动发送屏幕视图更少开销,但我发现它不灵活且更容易出错(
每次引入新活动时都必须手动向xml 添加条目,并且很容易忘记) .
2> Biplab De..:
我想你只想向GA发送"SomeActivity"字符串.如果您想轻松完成,可以在这篇文章中看到我的回复.我认为它会对你有所帮助.
谷歌分析 - 在AsyncTask中发送的NetworkOnMainThreadException