我最近在Firebase应用的设置中发现了一个问题。我们已经配置了预发布报告,这意味着测试实验室设备正在为我们的分析贡献大量的匿名会话。
有没有办法检测设备是否正在运行这些测试?例如,isUserAMonkey或isRunningInTestHarness在测试实验室中是否返回true?如果是,那么我可以相应地调整我的分析等配置。
我最近在Firebase应用的设置中发现了一个问题。我们已经配置了预发布报告,这意味着测试实验室设备正在为我们的分析贡献大量的匿名会话。
有没有办法检测设备是否正在运行这些测试?例如,isUserAMonkey或isRunningInTestHarness在测试实验室中是否返回true?如果是,那么我可以相应地调整我的分析等配置。
实际上,在文档中已经提到了。
您可以检查是否存在名为“firebase.test.lab”的系统属性:
@Nullable String testLabSetting =
Settings.System.getString(context.getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
// Do something when running in Test Lab
}
如果设备在 Firebase 测试实验室 IP 范围内,则您的“测试设备”应检查 IP 地址并禁用分析。
请参阅我的答案https://dev59.com/XZXfa4cB1Zd3GeqPd11a#54954273,其中包含一个处理此问题的 Util 方法。
testLabSetting
声明为String?
,否则,如果在非测试实验室设备上启动应用程序,则会遇到令人讨厌的NPE。 - guy.gc