根据Google Analytics(分析)的条款,您需要为用户提供选择退出跟踪的选项。但是我觉得,关于如何执行此操作的文档尚不十分清楚。这是我到目前为止所获得的。

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());


如果不是,如何在用户设备上运行期间完全禁用跟踪?

最佳答案

您需要使用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 Analytics(分析)不同。如果您的目标是在测试/开发过程中禁用,请使用(2

GoogeAnalytics.getInstance(this).setDryRun(true);

07-24 09:46
查看更多