Firebase A/B 测试版本定位

Posted

技术标签:

【中文标题】Firebase A/B 测试版本定位【英文标题】:Firebase A/B Testing version targeting 【发布时间】:2020-09-27 09:27:54 【问题描述】:

我尝试使用 Firebase A/B 测试运行 A/B 测试,但仅针对应用的特定版本。运行 5 天后,没有任何结果,也没有用户接触到该实验。

之后,我尝试运行相同的 A/B 测试,但没有版本限制,第二天就可以看到第一个结果。

所以我认为我定义版本限制的方式是错误的。我在远程配置中对其进行了测试,但是当我应用相同的版本限制时,远程配置返回了正确的值。以下是我在这两种情况下定义版本限制的方式:

应用的版本名称采用以下格式 X.Y.Z(例如 6.51.0、6.51.1)

有什么我遗漏的吗?如果针对特定版本,测试的启动速度会明显变慢吗?

【问题讨论】:

您能分享您的 A/B 测试配置吗?您是否使用任何其他定位,例如激活事件等? @michalbrz 我的 A/B 测试配置非常简单。我唯一的目标是applicationId 和版本。没有激活事件。如果我从定位中删除版本,A/B 测试就可以工作,所以它似乎必须与版本相关。但由于相同的版本定位适用于远程配置,它似乎是 Firebase A/B 测试中的某种错误。 您是否上传了要在 firebase 中测试的版本???? @ShahriyarAghajani 我不确定我是否理解这个问题。我定位的一些版本已经上传到 PlayStore,还有一些将来会上传,因为我无法在启动时修改 A/B 测试。 根据我对 firebase/remote 配置的经验,版本很棘手,您可以尝试使用“regex”而不是“contains”,在您的情况下将类似于 6\.[5-6][5-6] 另一个提示,您可以从您的测试设备中擦除您应用的数据,以加快将数据收集到 Firebase 控制台的速度,因此您无需等待一天。 【参考方案1】:

这应该可行。我已经试过很多次了。确保根据您的应用配置定位正确的值。版本定位条件...

对于 android 应用,您应该定位 “versionName”,而不是“versionCode”。 对于 ios 应用,您应该定位 “CFBundleShortVersionString”,而不是“CFBundleVersion”。

此外,您应该在控制台上输入准确的数字。例如,如果 versionName 或 CFBundleShortVersionString 是 1.0.0,那么您应该输入 1.0.0 而不仅仅是 1.0

【讨论】:

以上是关于Firebase A/B 测试版本定位的主要内容,如果未能解决你的问题,请参考以下文章

A/B测试

A/B测试工具展示

详细讲解 A/B 测试关键步骤,快来检查下还有哪些疏漏的知识点

谈谈网站测试中的AB测试方法

R数据分析案例实战——A/B测试分析

测试未发布应用的 Firebase 动态链接