我想在应用以 Debug模式运行时禁用记录 Google Analytics (GA) 事件。因此,我实现了以下内容:
if (BuildConfig.DEBUG) {
//Disables reporting when app runs on debug
GoogleAnalytics.getInstance(context).setDryRun(true);
}
它适用于我测试的每部“Google”Android 手机(即,在调试应用程序时不报告事件),但它不适用于 Amazon Fire Phone(即,Fire Phone 在调试时仍报告事件 - 可能是因为它没有安装 Google Play 服务?)。
所有事件都会正确报告给 GA,因此 GA 通常可以在 Fire Phone 上正常工作,但是 GoogleAnalytics.setDryRun(true)
没有任何效果。
此问题也已发布到 Google Analytics 的 Google 产品论坛上: https://productforums.google.com/forum/#!topic/analytics/1zAmZCu1Bx4
这是 Google Analytics 日志:
V/GAV4﹕ Thread[main,5,main]: [Tracker] trackingId loaded: UA-XXXXXXXX
V/GAV4﹕ Thread[main,5,main]: [Tracker] sample frequency loaded:
W/GAV4﹕ Thread[main,5,main]: bool configuration name not recognized: ga_dryRun
W/GAV4﹕ Thread[main,5,main]: bool configuration name not recognized: ga_dryRun
这是开源项目:
最佳答案
看起来您还在 xml 配置中设置了 ga_dryRun。从代码设置试运行优先于 xml 配置。在您的代码 fragment 中,您仅在 Debug模式下设置试运行。尝试始终设置它:
GoogleAnalytics.getInstance(context).setDryRun(BuildConfig.DEBUG);//当应用程序在调试时运行时禁用报告
同时删除任何 XML 配置设置试运行模式。如果您要从代码中设置它,则不需要它(代码无论如何都会覆盖它)
关于android - Google Analytics V4 setDryRun(true) 在 Amazon Fire Phone 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842499/