Note: Unity Remote Config is now available as a preview package. Remote Config is an improved offering that allows you to change the behavior and appearance of your game without requiring a new binary. You can remotely enable or disable features, change the specifics of your game to target specific audiences, or run special events by scheduling new content releases.
A/B 测试是一项受控实验,让不同的玩家组测试游戏某些方面的变化。进行测试的游戏方面可以是基本方面(比如输入控制方案),也可以是美观方面(比如不同的颜色处理),或者介于两者之间的其他方面。借助 A/B 测试可以比较在实验过程中收集的关键指标,从而帮助您分析哪种变化的效果更好。
A/B 测试的工作原理
Unity Analytics A/B 测试根据实验中定义的变体将玩家进行分组。每个组都可以看到为该变体组指定的游戏处理。一个处理是指一个或多个 Remote Settings(在每个变体组中需要为这些设置分配唯一的值)。在运行时,A/B 测试服务根据指定的变体分配比例,将玩家随机分配到其中一组。玩家将接收所在组的 Remote Settings 值。然后,您的应用程序使用这些 Remote Settings 让玩家体验您希望测试的游戏方面。
A/B 测试的关键要素包括:
实验 — 通过向不同玩家组展示不同处理来执行的测试。
变体 — 定义玩家组数量以及如何将玩家分配到这些组。一个必不可少的变体是对照组。
处理 — 定义用于实验的 Remote Settings 以及每个变体的特定设置值。
目标 — 希望通过实验改进的 Analytics 指标。一项实验在多个变体组之间比较目标指标,旨在发现哪种处理具有最理想效果。
可以同时进行多个实验,但是应注意不同实验不能相互影响,因为一些玩家会同时看到两个实验的实验处理。例如,如果在一个实验中运行一项测试来比较入门教程中的步骤排序,而运行另一项测试来测试教程节奏,那么将很难确定哪个实验导致了结果出现变化。这个示例可能非常显而易见,但即使是游戏中不相关部分的测试也可能相互影响。测试的游戏部分越基础以及实验组越大,实验相互影响的几率就越大。
应从 Unity Analytics Dashboard 创建并运行 A/B 测试。还必须使用 Remote Settings API 实现应用程序中的实验处理。
要创建实验,请执行以下操作:
1.访问项目的 Analytics Dashboard。
2.单击 A/B Testing 以打开 A/B Testing 页面。
3.单击 Create Experiment 按钮。
此时将打开 __Create new experiment__ 对话框。
![](../uploads/Main/UnityAnalyticsABTesting0.png)
4.输入实验的名称。
5.单击 Create。
创建实验后,必须定义目标、变体和处理。
实验目标用于定义实验处理旨在影响的分析指标。可以选择:
Day 1 Retention — 在第一次玩游戏后的第一天再玩游戏的用户的百分比。
Day 7 Retention — 在第一次玩游戏后的第七天再玩游戏的用户的百分比。
实验生成的报告将显示实验变体之间的指标差异。选择的目标还会影响为了收集有统计意义的数据而必须运行实验的时长。例如,与测量 Day 1 Retention 的实验相比,测量 Day 7 Retention 的实验需要更长的运行时间。
要选择实验,请执行以下操作目标:
1.单击 Select Experiment Goal 按钮。
![](../uploads/Main/UnityAnalyticsABTesting1.png)
2.从下拉列表中选择目标。
![](../uploads/Main/UnityAnalyticsABTesting2.png)
3.单击 Save。
使用实验的 Variants 部分可以定义 A/B 测试的玩家组,并指定测试服务分配给每个组的玩家比例。
对照组 (Control) 必须始终存在。对照组应获得当前或默认的游戏体验。该组提供与其他组的结果进行比较的基础。
要添加更多变体,请单击此部分顶部的 ADD 按钮。为该组指定一个名称和一个分配比例。所有组的分配比例总和必须达到 100%。Estimate 列显示每天预期应分配给每个变体的玩家数。
要删除变体,请单击其名称旁边的垃圾桶图标。
完成实验所需的预计时间基于达到统计上有效的样本数所需的时间。应用程序通常拥有的玩家 (DAU) 越多,分配给实验变体的玩家就越多,预计时间就越短。
按需设置变体后,单击 Save。
使用 Treatments 部分可以定义实验中使用的设置,并为每个组分配单独的设置值。
单击 ADD 按钮为实验添加设置。
可以使用 Release 配置中的现有 Remote Settings,只要这些设置当前未用于进行的任何其他实验。请注意,Remote Settings 页面仅显示用于对照组的默认值。只能在 A/B Testing 页面上查看或更改变体设置。
不访问 Remote Settings 页面也可以创建新设置。A/B 测试中创建的设置不会显示在 Remote Settings 页面中。如果希望在实验完成后继续使用某个设置,可以创建同名的 Remote Settings。
定义完处理后,单击 Save。
使用 Remote Settings API 可以在运行时访问实验中定义的值。访问游戏中的设置时,请 Treatments 部分中显示的设置名称作为关键字。可以在代码中实现 Remote Settings,也可以使用 Remote Settings 组件来访问和应用 Unity Inspector 窗口中的设置值。
创建至少一个实验后,A/B Testing 页面将以列表的形式显示实验。
要启动实验,请执行以下操作:
1.单击处于 Not Started 状态的实验的名称。
2.单击 Start Experiment 按钮。
__注意:__实验开始后,不能再进行更改,因为这将使测试结果无效。
要停止实验,请执行以下操作:
1.单击处于 Running 状态的实验的名称。
2.单击 Stop Experiment 按钮。
__注意:__无法重新启动实验。
要查看报告,请执行以下操作:
1.单击处于 Ended 状态的实验的名称。
2.Reporting 部分将显示实验结果。
实验完成后,使用 Reports 部分可以查看实验结果。
报告中会列出变体组、为实验目标记录的指标以及每个变体与对照组的比较情况。(显著性等级使用标准统计学显著性水平 (5%)。)
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.