在实时 运行 期间禁用 google 分析跟踪
Disable google analytics tracking during live run
根据 Google 分析的条款,您需要为用户提供选择退出跟踪的选项。但我觉得,关于如何做到这一点的文档并不是很清楚。这是我目前得到的。
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = analytics.newTracker(R.xml.tracker);
t.enableAdvertisingIdCollection(false);
t.enableAutoActivityTracking(false);
t.enableExceptionReporting(false);
这会禁用包括此类事件在内的所有跟踪吗?
t.send(new HitBuilders.EventBuilder()
.setCategory("category")
.setAction("test")
.setLabel("label")
.build());
如果不是,我如何在 运行 期间在用户设备上完全禁用跟踪?
您可以设置 SharedPreference
设置,如果用户选择退出 Analytics 跟踪,您不会发送 Analytics 更新。
您需要使用GoogleAnalytics.getInstance(this).setAppOptOut(true);
。
在 Google Analytics 文档 (1) 中,有一个具有共享首选项的简单示例。
SharedPreferences userPrefs = PreferenceManager.getDefaultSharedPreferences(this);
userPrefs.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener () {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(TRACKING_PREF_KEY)) {
GoogleAnalytics.getInstance(getApplicationContext()).setAppOptOut(sharedPreferences.getBoolean(key, false));
} else {
// Any additional changed preference handling.
}
}
});
注意:这与在测试/开发期间禁用 Google 分析不同。如果您的目标是在 test/development 期间禁用,请使用 (2)
GoogeAnalytics.getInstance(this).setDryRun(true);
根据 Google 分析的条款,您需要为用户提供选择退出跟踪的选项。但我觉得,关于如何做到这一点的文档并不是很清楚。这是我目前得到的。
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = analytics.newTracker(R.xml.tracker);
t.enableAdvertisingIdCollection(false);
t.enableAutoActivityTracking(false);
t.enableExceptionReporting(false);
这会禁用包括此类事件在内的所有跟踪吗?
t.send(new HitBuilders.EventBuilder()
.setCategory("category")
.setAction("test")
.setLabel("label")
.build());
如果不是,我如何在 运行 期间在用户设备上完全禁用跟踪?
您可以设置 SharedPreference
设置,如果用户选择退出 Analytics 跟踪,您不会发送 Analytics 更新。
您需要使用GoogleAnalytics.getInstance(this).setAppOptOut(true);
。
在 Google Analytics 文档 (1) 中,有一个具有共享首选项的简单示例。
SharedPreferences userPrefs = PreferenceManager.getDefaultSharedPreferences(this);
userPrefs.registerOnSharedPreferenceChangeListener(new SharedPreferences.OnSharedPreferenceChangeListener () {
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if (key.equals(TRACKING_PREF_KEY)) {
GoogleAnalytics.getInstance(getApplicationContext()).setAppOptOut(sharedPreferences.getBoolean(key, false));
} else {
// Any additional changed preference handling.
}
}
});
注意:这与在测试/开发期间禁用 Google 分析不同。如果您的目标是在 test/development 期间禁用,请使用 (2)
GoogeAnalytics.getInstance(this).setDryRun(true);