我的问题很简单:当应用程序使用调试证书签名时,有什么方法可以自动禁用 Google Analytics?意味着它应该仅在发布版本中处于活动状态。先感谢您。
问问题
3010 次
3 回答
12
如果您使用的是 ADT 17 及更高版本,则可以使用 BuildConfig 类:
if(BuildConfig.DEBUG) {
GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(getApplicationContext());
googleAnalytics.setAppOptOut(true);
}
该类BuildConfig
是自动生成R.java
的。它仅包含DEBUG
布尔值,true
默认情况下设置为,false
导出 apk 时设置为。
于 2012-12-21T12:47:28.410 回答
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;
}
于 2012-12-21T12:45:16.783 回答
1
使用最新版本的 Google Analytics,您应该使用以下代码:
if(BuildConfig.DEBUG){
GoogleAnalytics.getInstance(this).setDryRun(true);
}
于 2015-01-25T13:18:55.137 回答