Skip to content

Most visited

Recently visited

navigation

进行应用内 A/B 测试以改进您的应用

您可以借助 A/B 测试面向一部分用户测试应用的改进内容,然后根据收集到的数据选择适用于整个用户群的最佳解决方案。

这样做的好处

您可以通过进行 A/B 测试来确定您对应用功能或内容所做的更改是否有所裨益,而不必再凭空猜测了。而且,由于您可以面向一部分用户测试更改,所以您不必担心发布后会对所有用户造成非预期或负面的影响。

方法

  • 选择合适的 A/B 测试平台,例如使用 Firebase 远程配置随机挑选一定比例的用户、使用 Firebase Analytics 指定目标对象,搭配 Google 代码管理工具,并与应用进行整合。
  • 确定要测试的功能或内容变体,以及您衡量这些变体成功与否的标准。
  • 设置要向对照组和测试组显示的功能或内容,做法如下:
情景 要测试的更改示例 未参加测试的用户可以看到... 变体 A 变体 B 变体 C、D 等(可选)
现有功能的新实施方式 将标签改为底部导航栏将提升用户互动度 … 现有实施方式
例如:标签
现有实施方式
例如:标签
新功能实施方式
例如:底部导航栏
其他功能实施方式
例如:抽屉式导航栏
可创建新指标的新功能 按热门程度而非价格列出应用内购商品将能创造更多的收益 …没有新功能
例如:未启用应用内购买
第 1 种新功能实施方式
例如:按热门程度列出应用内购商品
第 2 种新功能实施方式
例如:按价格列出应用内购商品
其他功能实施方式
例如:按字母顺序列出应用内购商品
使用现有指标衡量的新功能 允许用户标记商品将提升用户互动度 …没有新功能
例如:未启用标记商品功能
没有新功能
例如:未启用标记商品功能
新功能实施方式
例如:启用标记商品功能,使用心形符号标记
其他功能实施方式
例如:启用标记商品功能,使用星形符号标记
  • 选择测试人数或测试时间(可用功能依 A/B 测试平台而定),最低目标测试人数为 1000 位用户。
  • 进行测试。
  • 查看测试结果,以确定它们是否具有统计意义以及是否有任何测试变体成功改善了应用的效果。
  • 面向所有用户发布“效果最佳”的更改内容

最佳做法

  • 选择能够支持大规模测试的平台。 随着您的应用和业务的发展,您将需要更频繁地进行更多的 A/B 测试。确保您选择的平台可以面向相同的用户群体同时运行多项测试,理想的情况是让同一批人接受测试(用户可同时参与多项测试)。
  • 您可以根据实际需要决定测试变体的数量,以实用性为目标。 如果某个功能或内容选项有多种实用的替代方案,您最好针对两种以上的变体进行测试。考虑使用多变量方法来定义变体。例如:
按钮文字(外观 2)
购买 采购
按钮颜色(外观 1) 蓝色 变体 A 变体 B
绿色 变体 C 变体 D
  • 确保您的测试持续足够长的时间以排除周期性变化。 用户的行为可能有周期性变化,例如每小时、每天、每周或类似周期。在设置测试的持续时间时,需考虑这些因素。如果我们知道行为在更长的周期内会发生变化,那么必须确保测试时间短于这个周期,然后推断结果。
  • 确保用户细分之间的已知差异不会影响您的测试结果。如果您认为用户的行为会因用户的细分而有所不同,请在一个细分内进行测试,或确保选择能代表所有用户的群组作为样本进行测试。例如,如果我们知道用户的平均收入因国家/地区而异,则可以面向来自一个国家/地区的用户或对来自所有国家/地区的用户进行抽样测试。
  • 针对多个细分进行测试。 如果您拥有可用的且已掌握其信息的用户细分(如国家/地区、获取渠道或类似信息),则可考虑面向不同的细分进行测试,以了解结果之间的差异。您可以选择只对部分细分发布更改,也可以将不同的更改发布给不同的细分。
  • 在设定测试持续时间时考虑潜在的商业效益。 在设定测试的持续时间或测试群体的规模(这会影响向测试人员显示不同变体所需的时间)时,需考虑时间较短的测试是否具有商业效益(可以更快做出改进)。
  • 对任何不符合预期的负面结果进行监测,并做好随时停止测试的准备。尽管测试可能仅涉及一小部分用户,但如果测试结果非常糟糕,仍会影响您的评分和评价;此外,其他用户也可能因为在社交媒体上上看到测试者分享的信息,而对您的应用产生负面印象。
  • 在平台允许的条件下,逐步发布更改。 虽然您可能会从测试结果的统计数据中判断做出某种更改是有利的,但是当您将这项更改面向所有用户发布时,仍可能出现不符合预期的结果。通过逐步发布更改,您可以分批向用户发布更改并监控效果,一旦发现没有实现预期的效益,则停止发布。
  • 从指标中排除参与测试的用户。 如果您向用户提供了选项以供其选择是否参与测试,以查看或使用您正在测试的新功能,请记住将这类用户从指标中排除。
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.