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