Android 如何正确使用Firebase分析仪进行A/B测试? 背景

Android 如何正确使用Firebase分析仪进行A/B测试? 背景,android,firebase,ab-testing,firebase-analytics,Android,Firebase,Ab Testing,Firebase Analytics,谷歌发布了一个全新的API和服务,用于a/B测试、使用和维护 问题 虽然我确实为了其他目的(和)尝试了该服务,但我还需要将其用于A/B测试 问题是,我不知道如何让它显示分析各种实验结果所需的信息 它就是不显示(在屏幕上),或者我看不到正确的位置: 我试过的 为了尝试一个单独的实验,我按照教程中说的做了,包括: 代码中的初始化与中的初始化大致相同: } 为每个实验创建一个新的用户属性(目前只有一个) 在远程配置屏幕中,添加2个变体(默认和条件) 加载远程配置时,调用setUserProperty

谷歌发布了一个全新的API和服务,用于a/B测试、使用和维护

问题 虽然我确实为了其他目的(和)尝试了该服务,但我还需要将其用于A/B测试

问题是,我不知道如何让它显示分析各种实验结果所需的信息

它就是不显示(在屏幕上),或者我看不到正确的位置:

我试过的 为了尝试一个单独的实验,我按照教程中说的做了,包括:

  • 代码中的初始化与中的初始化大致相同:

    }

  • 为每个实验创建一个新的用户属性(目前只有一个)

  • 在远程配置屏幕中,添加2个变体(默认和条件)

  • 加载远程配置时,调用setUserProperty(请参见#0),如中所示,以指向当前变量的参数值

  • 为了追踪一个事件,我打电话:

    firebaseAnalytics.logEvent(eventName, new Bundle())
    
    您可能已经猜到,其中一个调用(目前只有一个)是当eventName为“subscription\u premium\u purchase”时

  • 在运行应用程序时,我让它同时使用两种变体(当然,每个干净的安装一个)

  • 但正如我所展示的,我找不到一种方法来确定哪个变量导致事件被调用的次数比另一个多,例如

    问题
  • 这里可能缺少什么?我做错了什么?为什么我看不到我使用过的任何变体

  • 用户属性到底是用来做什么的?它是否被用作远程配置和分析之间的“粘合剂”?我应该在那里的文本框中输入什么(上面写着“按‘回车’申请”)?它不应该显示各种变体吗?其他过滤器项有“类型”,但这个没有。用户属性中没有可选择的内容。即使在创建用户属性时,我也看不到它的任何设置(除了说明)。我甚至不能删除它。无法在图表中看到我创建的条件

  • 也许我需要使用BigQuery吗

  • 我注意到“fetch”函数有时根本无法调用侦听器。怎么可能呢?我可以为此添加超时吗


  • 我认为这里的关键困惑与这样一个事实有关:当您选择“实验用户”属性时,您没有将您的值视为自动完成建议。这是一个正在考虑的特性。但是,如果您只是键入实验值,它将在您的报告中应用该值作为过滤器,这样您就可以看到用户在一个变体中记录了多少“subscription\u premium\u purchase”事件。

    如何?如何按变量筛选?如何查看每个变体有多少个事件?我尝试输入一个值,并显示一个事件,但当我尝试另一个时,它没有显示任何事件(即使应该有)。我现在将尝试更简单的用户属性值,它只在代码中有意义,而不是我以前使用的。也许有些字符有问题(或者太长)。太糟糕了,我不能为每个添加描述。另外,您能告诉我为什么它有时会卡在“fetch”命令上吗?我如何才能提供有关此服务的反馈?我不明白为什么使用此服务会如此复杂。它应该更容易:创建实验(使用名称、描述),为它创建变量(每个变量都有名称、描述、条件和变量)。就这样。在分析屏幕(图表)中,应自动显示每个实验的变量和事件(每个变量)。如果能够配置每个实验应该关注的事件,那就更酷了,因此一个简单的图表将准确地保存我们需要的内容,以确定哪个变量是最好的。目前,您必须在Analytics中的用户属性过滤器中手动键入变量值。我们正在考虑如何最好地自动化所有这一切,但同时,它需要人工努力。你能考虑在FialBASE上制定一个A/B测试类别,并且尽可能容易地使用它(像我所描述的过程)吗?有这么多的步骤以这种奇怪的方式工作,真让人恼火。同时使用分析和远程配置进行a/B测试看起来都是一种变通方法。合并看起来并不自然,而且功能的数量和清晰性也缺乏。但现在最重要的是,在某些设备(不是所有设备)上,“fetch”命令被卡住(不调用其回调)。当它失败时,我甚至不能有一个超时或回调。为什么?我也注意到它不显示男性/女性信息。怎么会?它来自哪里?G+?
    public enum ExperimentType {
      PURCHASES_OFFERED_PRODUCTS("purchases_offered_products_1", "Experiment1", new Gson().toJson(new String[]{"something", "something2"}));
    
      public final String experimentId,defaultValues,userProperty;
    
      ExperimentType(final String experimentId, final String userProperty, final String defaultValues) {
          this.experimentId = experimentId;
          this.defaultValues = defaultValues;
          this.userProperty = userProperty;
      }
    
    firebaseAnalytics.logEvent(eventName, new Bundle())