Android 活动中是否需要任何代码,以便ga_autoActivityTracking=true适用于Google Analytics V4
在Google Analytics v3中,要自动跟踪Android 活动中是否需要任何代码,以便ga_autoActivityTracking=true适用于Google Analytics V4,android,google-analytics,Android,Google Analytics,在Google Analytics v3中,要自动跟踪活动,我们需要 ga_autoActivityTrackingmanifest.xml中的标志 在onStart和onStop Android v3的谷歌分析SDK 但是,经过测试后,似乎没有跟踪信息从活动自动发送出去 Google Analytics V4的文档缺少什么吗 您需要在活动/片段代码中添加您发布的链接步骤4中提到的以下代码: // Get tracker. Tracker t = ((AnalyticsSample
活动
,我们需要
ga_autoActivityTracking
manifest.xml中的标志onStart
和onStop
活动
自动发送出去
Google Analytics V4的文档缺少什么吗 您需要在活动/片段代码中添加您发布的链接步骤4中提到的以下代码:
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication()).getTracker(
TrackerName.APP_TRACKER);
// Set screen name.
// Where path is a String representing the screen name.
t.setScreenName(path);
// Send a screen view.
t.send(new HitBuilders.AppViewBuilder().build());
如果您查看链接:,这里还提供了一个示例片段片段
编辑:
抱歉,以上信息是用于手动跟踪的。
根据此链接:, 如果在配置XML中启用自动屏幕视图跟踪,则只需执行两个步骤:
- 在XML配置中设置ga_autoActivityTracking参数 文件
- 在XML配置文件中为每个活动指定一个屏幕名称
ga_autoActivityTracking
设置为true外,还需要调用。我已经证实了这一点(也就是说,屏幕视图确实会在我的谷歌分析控制台中报告)在后v14设备上有效
如果您希望应用程序支持运行API 14之前版本的设备,您还必须在onStart
和onStop
中为所有要跟踪的活动添加调用和reportActivityStop
。我已经确认这在v14之前的设备上有效
我只对活动而不是片段进行了尝试,从上面的一个链接来看,自动屏幕跟踪似乎无法处理片段。步骤1
添加app\u tracker.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- The following value should be replaced with correct property id. -->
<string name="ga_trackingId">UA-00000000-1</string>
<!-- catch and report uncaught exceptions from the app -->
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_sessionTimeout">300</integer>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- The screen names that will appear in reports -->
<screenName name="com.mypackage.NameActivity">Name Activity</screenName>
</resources>
public static Tracker getTracker() {
if (false == isGooglePlayServicesAvailable()) {
return null;
}
if (tracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(MyApplication.instance());
tracker = analytics.newTracker(R.xml.app_tracker);
}
return tracker;
}
步骤3
在活动启动期间打开GA
public class MyFragmentActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Utils.getTracker();
但是我需要实例化一个跟踪器对象吗?否则跟踪器将永远不会加载配置xml文件?(如果是的话,我想我必须在我想要跟踪的每个活动中实例化它吗?)是的,你确实需要实例化一个跟踪器对象来加载它的配置文件。我以Google为例,在从应用程序继承的类的getTracker方法中创建了一个singleton tracker对象。然后我调用getTracker方法一次,在用户看到的第一个屏幕“我的主屏幕的活动”的onCreate方法中。我不需要在代码中的任何其他地方调用getTracker方法来跟踪所有活动。您好,我可以问一下,我是否只需要为我的活动执行一次
getTracker()
,并且如果我的跟踪器xml中存在screenName
,则会跟踪活动中的任何片段交换?谢谢!:)您好,You Qi,如果我没有记错的话,只需要执行至少一次,其余的就可以正常工作了。我应该把app_tracker.xml放在哪里?我只需要把它放在src/main/res/xml/app_tracker.xml
public static Tracker getTracker() {
if (false == isGooglePlayServicesAvailable()) {
return null;
}
if (tracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(MyApplication.instance());
tracker = analytics.newTracker(R.xml.app_tracker);
}
return tracker;
}
public class MyFragmentActivity extends SherlockFragmentActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Utils.getTracker();