禁用 Android 预发行报告中的 Google Analytics

17

我已在Google Play开发者控制台上测试了新的预发布报告。虽然它非常好并且可以测遍所有屏幕并测试它们,但它也会影响您在Google Analytics上的统计数据。

有没有可能从Google Analytics中排除这些测试,该怎么做?

我知道我可以上传仅用于禁用GA测试的APK,但这样每次都需要上传另一个启用GA的APK,并切换预发布报告测试的开关,这不是我想要的。

5个回答

19

在 Firebase Test Lab 中运行的预发布报告。

根据他们的文档,以下是您可以检测到正在 Firebase Test Lab 中运行的方法。

String testLabSetting = Settings.System.getString(context.getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
  // Do something when running in Test Lab
}

来源: https://firebase.google.com/docs/test-lab/android-studio


这怎么可能不是SO历史上最被接受和点赞的答案呢? - amitfr
这怎么可能不是SO历史上最受认可和点赞最多的答案呢? - undefined

1

可以使用过滤器(管理›全局过滤器›编辑过滤器)排除统计数据。我发现可以使用IP、域名或子域名来排除Google Analytics统计数据。

在我的项目中,我已经排除了我的IP地址,因此我的开发和测试不会被Google Analytics统计到。我注意到Firebase Analytics也应用了相同的过滤器。


1
根据 https://firebase.google.com/docs/test-lab/overview#testlab_and_mobile_advertising 文档,测试设备当前使用的 IP 范围为 108.177.6.0/23。过滤所有以 108.177.6.108.177.7. 开头的 IP 对我很有效。 - Tamás Szincsák

1
如果有人想知道如何在React Native中实现此操作,可以使用react-native-firebase包utils().isRunningInTestLab来确定应用程序是否在Test Lab中运行:https://rnfirebase.io/app/utils#test-lab

1
这正是我正在寻找的。非常感谢! - reesaspieces

1

为了进一步解释@bleuf1shi的答案,以下是我在Xamarin中使用的方法。

var testLabSettings = Android.Provider.Settings.System.GetString(this.ContentResolver, "firebase.test.lab");
if ("true".Equals(testLabSettings, StringComparison.OrdinalIgnoreCase))
{
    // Do something when running in Test Lab
}

0

我遇到了类似的问题。想要更改欢迎屏幕,使所有按钮都像“接受使用条款”一样运作,否则在我的情况下,大约有66%的测试会关闭应用程序。在环境中找不到任何标识预启动报告的东西。

我唯一找到的可能方法是确定测试运行的时间范围。当然,这并不可靠,但最后提交到Google Play的更新总是需要至少25分钟才能上线。

预启动测试通常在提交新版本后不久开始。因此,当您能够并愿意安排提交新版本的时间时,您可以使用当前时间来检测应用程序是否正在测试或在生产中使用。在提交时间+20分钟后,启用生产模式。

希望Google能为我们提供一种可靠的方法来检测这个环境。这项服务非常好。不幸的是,由于权限问题,我无法看到任何截图,但该服务仍处于BETA阶段,所以它将被修复。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接