在开发过程中禁用Google Analytics

时间:2012-12-21 12:40:24

标签: android google-analytics

我的问题非常简单:当使用调试证书签署应用程序时,是否有任何方法可以自动禁用Google Analytics?表示它应该仅在发布版本中处于活动状态。提前谢谢。

3 个答案:

答案 0 :(得分:12)

如果您使用的是ADT 17及更高版本,则可以使用BuildConfig类:

if(BuildConfig.DEBUG) {
    GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
    googleAnalytics.setAppOptOut(true);
}

BuildConfig类自动生成,如R.java。它只包含DEBUG布尔值,默认设置为true,导出apk时设置为false

答案 1 :(得分:2)

你可以把它设置得不够活跃:

if (...) {
  GoogleAnalytics ga= GoogleAnalytics.getInstance(getApplicationContext());
  ga.setAppOptOut(true);
}

我通常只检查一些用于测试的已知设备的硬件序列号:

if (Arrays.asList("x", "y").contains(getHardwareSerial()))

getHardwareSerial()的位置:

public static String getHardwareSerial() {
        try {
            Field serialField = Build.class.getDeclaredField("SERIAL");
            return (String) serialField.get(null);
        } catch (NoSuchFieldException nsf) {
        } catch (IllegalAccessException ia) {
        }
        return Build.UNKNOWN;
    }

答案 2 :(得分:1)

使用最新版本的Google Analytics,您应该使用以下代码:

if(BuildConfig.DEBUG){
    GoogleAnalytics.getInstance(this).setDryRun(true);
}