用于准确 AB 测试的激活事件和标志更新频率

Activation event & frequency of flag updation for accurate AB test

我正在尝试 运行 一项实验,以更改应用程序第 3 步中某个元素的行为。为了使数据准确,我计划将激活事件作为完成步骤 2 的事件。现在,当应用程序首次启动时会获取 firebase 远程配置值,因此如果我将第 2 步完成设置为激活事件,应用程序将无法获取要在第 3 步中使用的标志的更新远程配置值。如果我每次使用标志时都获取并激活标志值,那将在 60 分钟内超过 5 次限制。解决此问题的最佳方法是什么?

所以ABT的激活事件只会让触发它的用户开始被计入实验,它不会在触发时激活实际的配置值。您应该能够在应用程序启动时获取并激活,然后通过在第 2 步中使用激活事件,用户可能会进入实验并获得第 3 步的行为更改。

本文讲的是RC激活 https://firebase.googleblog.com/2017/01/firebase-remote-config-loading.html

这里的文档更详细地介绍了 ABT 激活事件 https://firebase.google.com/docs/ab-testing/abtest-config

我一直在尝试执行与您几乎相同的过程,并且我意识到可以在步骤 3 中调用激活事件而无需提取。 我正在执行以下操作:

Step1(当我的应用程序启动时)

获取变量并在有任何更新时激活(.fetchAndActivate())

步骤2

只需调用您的激活事件

步骤3

获取决定您的变体或对照组的变量


我一直在使用什么来测试它是否真的有效(这是棘手的部分)

  1. 删除您的广告 ID
  2. 删除您的旧应用(或者您也可以调用 FirebaseInstanceId.getInstance().deleteInstanceId())以获取新的 Firebase 令牌
  3. 一旦您拥有新的 Ads Id 和 firebase 令牌,您就像是 FB 的新用户,因此您将获得新的变体或组控制。

要点:

  • FB 为您提供的变体对于您的令牌是固定的(这对 Prod 环境有意义),因此当您获得其中一种变体时,它将始终相同,除非您重置令牌(您只需要做这在你测试时)
  • 你提供给FB的catch time是在本地控制fetch系统
  • 如果该用户进入或不进入实验,激活方法仅向 FB 指示,但您已经为该用户分配了一个 variant/control 组。