我最近发现我的应用在 Firebase 中的设置存在问题。我们配置了发布前报告,这意味着测试实验室设备正在为我们的分析贡献大量匿名会话。
有什么方法可以检测到设备正在运行这些测试吗?例如,isUserAMonkey或isRunningInTestHarness对于测试实验室中的测试是否会返回 true?如果是这样,这将允许我调整我的分析/等的配置。
我最近发现我的应用在 Firebase 中的设置存在问题。我们配置了发布前报告,这意味着测试实验室设备正在为我们的分析贡献大量匿名会话。
有什么方法可以检测到设备正在运行这些测试吗?例如,isUserAMonkey或isRunningInTestHarness对于测试实验室中的测试是否会返回 true?如果是这样,这将允许我调整我的分析/等的配置。
这实际上在 docs 中提到。
您可以检查是否存在名为“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 地址并禁用分析。
有关处理此问题的 Util 方法,请参阅我在https://stackoverflow.com/a/54954273/114549上的回答。