【发布时间】:2019-08-13 11:29:48
【问题描述】:
Firebase 中的所有示例似乎都建议在 didFinishLaunching 中重新加载远程配置。这看起来是个好主意,但我发现它有问题。当我在模拟器中运行此设置时,第一次获取时会使用控制台中设置的默认值。看起来很合理,但问题是我有一个正在运行的 A/B 测试实验——实际上,其中有几个。而且我确实看到,在第二次发布时,我从这些实验中获得了新的价值。
这些实验针对我的应用的所有用户,让我担心的是,从第一次发布开始,我就没有收到这些值。在现实世界中,Firebase 会将获取的值缓存 12 小时。但是,由于文档没有提及在我的实验中何时将用户计入特定变体,我担心在这 12 小时内,我的一些用户将归因于非默认修改,即使他们的应用程序不知道他们应该获得非默认体验。
我遇到的另一个问题是,要在didFinishLaunching 中执行远程配置获取,需要终止应用程序。如果我的用户经常使用它并且系统没有杀死它怎么办?这意味着他们可能永远不会收到更新的配置值。
我的问题归结为:
- 在
didBecomeActive重新加载远程配置不是更好吗? - Firebase 何时将用户归因于我的 A/B 测试中的特定变体?它是在应用程序生命周期的某个时刻静默发生,还是他们确保它仅在我的用户收到相应的远程配置值时发生?这可能是一个愚蠢的问题,因为应该很明显,只有当用户收到新值时才应计算在内,但文档没有提及这一点。
- 有没有办法重新加载远程配置并确信我 接收最新值,进行所有正在进行的 A/B 测试 考虑到实验?想象一下,如果我想运行一个测试来确定我的应用内购买的理想价格点。在获取我的应用内产品之前,我想重新加载远程配置并加载所有最新值。我不想在第一次启动时收到默认值,向用户展示我的商店屏幕的低价水平,只是在第二次启动时加载更昂贵的版本,当新值从远程配置到达时。
【问题讨论】:
标签: ios firebase ab-testing firebase-remote-config firebase-ab-testing