android - Google Analytics V4 setDryRun(true) 在 Amazon Fire Phone 中不起作用

标签 android google-analytics google-analytics-firebase amazon-fire-os

我想在应用以 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

这是开源项目:

https://github.com/OneBusAway/onebusaway-android

最佳答案

看起来您还在 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/

相关文章:

google-analytics - 如何验证谷歌分析在子域上正常工作(无法访问根域)

google-analytics-firebase - Google Analytics API v4 最大结果

android - 测试 Activity 是否返回预期结果

javascript - Google Analytics 实时事件页面——保持活跃

javascript - 在 Google Analytics 中使用 JS 回调

android - Android : Could not find class 'com.google.android.gms.analytics.Tracker' 中的 Google Analytics v4

android - 如何使用条码扫描结果字符串?

android - Android.bp 和 Android.mk 之间的区别

android - SharedPreferences 不适用于 Resume