---
title: "A/B 测试类型"
description: "了解 Adapty 中的 A/B 测试类型。"
---

Adapty 提供两种 A/B 测试类型，分别适用于不同的测试场景：
- **常规 A/B 测试：** 针对单个[流程](adapty-flow-builder)/[付费墙](paywalls)/[用户引导](onboardings)版位创建的 A/B 测试。
- **跨版位 A/B 测试：** 针对应用中多个付费墙版位创建的 A/B 测试。一旦 A/B 测试分配了<InlineTooltip tooltip="实验变体">A/B 测试的实验变体是用于测试的流程、付费墙或用户引导的不同版本。</InlineTooltip>，该实验变体将在所有选定的应用页面中保持一致展示。
:::warning
跨版位 A/B 测试仅支持 Adapty SDK v3.5.0 及以上版本，且仅适用于付费墙。

Flow A/B 测试需要 Adapty SDK v4.0.0 及以上版本。

用户引导 A/B 测试需要 Adapty SDK v3.8.0+（iOS、Android、React Native、Flutter）、v3.14.0+（Unity）或 v3.15.0+（Kotlin Multiplatform、Capacitor）。

使用旧版本的用户将跳过这些测试。
:::

每个 flow/付费墙/用户引导都会分配一个权重，用于在测试期间分配流量。
例如，权重分别为 70% 和 30% 时，约 700 个用户会看到第一个付费墙，约 300 个用户会看到第二个付费墙。在跨版位测试中，权重按实验变体设置，而非按付费墙设置。

通过这种方式，你可以对比不同的流程和付费墙，为应用的变现策略做出数据驱动的决策。
## 何时使用各类型 \{#when-to-use-each-type\}
每种 A/B 测试类型的适用场景如下：
- **常规 A/B 测试**：
  - 你的应用中只有一个版位。
  - 你只想在某一个版位上运行 A/B 测试，并仅追踪该版位的收益变化，即使应用中有多个版位也是如此。
  - 你想对老用户（即至少看过一次 Adapty 付费墙的用户）运行 A/B 测试。
- **跨版位 A/B 测试**：
  - 你想在多个版位之间同步实验变体。例如，同时修改用户引导流程和应用设置页中的价格。
  - 你想评估应用的整体收益表现。在所有版位上运行测试，比只测试单个版位更便于分析 A/B 测试数据。
  - 你只想对新用户（即从未看过任何 Adapty 付费墙的用户）运行 A/B 测试。
  - 你想在单个实验变体中使用多个付费墙：

  <img src="/assets/shared/img/ab-test-variants.png"
  alt="单个跨版位 A/B 测试实验变体中多个付费墙的示例"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

## 主要区别 \{#key-differences\}
| 功能                     | 普通 A/B 测试                                                                                                                                                                 | 跨版位 A/B 测试                                    |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| **测试对象**             | 单个流程/付费墙/用户引导                                                                                                                                                      | 同一实验变体下的一组付费墙                         |
| **实验变体一致性**       | 每个版位独立决定实验变体                                                                                                                                                      | 所有付费墙版位使用相同的实验变体                   |
| **目标受众设置**         | 按流程/付费墙/用户引导版位分别定义                                                                                                                                            | 在所有付费墙版位间共享                             |
| **数据分析**             | 分析单个流程/付费墙/用户引导版位                                                                                                                                              | 分析测试所涉及的所有版位的整体应用表现             |
| **实验变体流量分配**     | 按流程/付费墙/用户引导分别设置                                                                                                                                                | 按一组付费墙整体设置                               |
| **适用用户**             | 所有用户                                                                                                                                                                      | 仅限新用户（从未看过 Adapty 付费墙的用户）         |
| **Adapty SDK 版本要求**  | 流程：v4.0.0+；付费墙：不限版本；用户引导：v3.8.0+（iOS、Android、React Native、Flutter），v3.14.0+（Unity），v3.15.0+（KMP、Capacitor） | 3.5.0+                                             |
| **最适合**               | 在不考虑整体应用经济的情况下，测试单个流程/付费墙/用户引导版位的独立变更                                                                                                     | 在全应用范围内评估整体变现策略                     |
## A/B 测试选择逻辑 \{#ab-test-selection-logic\}

**跨版位 A/B 测试的优先级高于普通 A/B 测试。** 但跨版位测试仅面向**新用户**展示——即从未看过任何 Adapty 付费墙的用户（从未为其调用过 `getPaywall` SDK 方法）。这确保了跨版位结果的一致性。

下图展示了 Adapty 为某个版位选择 A/B 测试时所使用的逻辑：

  <img src="/assets/shared/img/ab-tests-scheme.webp"
  alt="Diagram showing the A/B test selection logic for a paywall placement"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '350px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

在 **A/B Tests** 页面中，付费墙、用户引导、流程和跨版位测试分别显示在不同的标签页中。

  <img src="ab-tests-tabs.webp"
  alt="A/B 测试列表页面，包含常规、用户引导和跨版位测试类型的标签"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

## 跨版位 A/B 测试的限制 \{#crossplacement-ab-test-limitations\}

:::warning
跨版位 A/B 测试不能包含流程或用户引导类版位。
:::

跨版位 A/B 测试保证每位用户在测试涉及的所有版位中看到相同的实验变体。这带来以下限制：

* 只有新用户才能参与。新用户是指从未看过 Adapty 付费墙、且其应用从未调用过 `getPaywall` 的用户。Adapty 无法为其他用户保证一致的付费墙链路。
* 用户遇到的第一个版位决定了 Adapty 展示哪个付费墙。你无法更改用户的分配，也无法将同一用户加入多个跨版位 A/B 测试。

:::warning
用户一旦收到跨版位付费墙，即便你已停止测试，该用户在 90 天内仍会看到同一付费墙。如需调整此时长，请在 **General** 设置中修改 **[Cross-placement variation stickiness](general#9-cross-placement-variation-stickiness)**。
:::
## 跨版位 A/B 测试优先级 \{#crossplacement-ab-test-priority\}

* 跨版位 A/B 测试始终优先于常规 A/B 测试和用户引导 A/B 测试。如果新用户同时符合跨版位测试和同一版位的常规测试条件，系统将展示跨版位测试。

* 当多个面向相同目标受众的跨版位 A/B 测试共享同一版位时，Adapty 会根据测试的添加顺序自动分配优先级，最先添加的测试优先级最高，且无法手动调整。
* 针对较小目标受众群体的测试会自动优先于针对所有用户群体的测试。

:::note
在 Analytics 中，跨版位 A/B 测试会显示为多个子测试，每个版位对应一个。子测试的命名格式为 `<test-name> child-0`、`<test-name> child-1`，以此类推。编号与 A/B 测试详情页面上的版位顺序一致。如需查看特定版位的结果，请按 **Placement** 筛选。
:::
## 下一步 \{#next-steps\}

- [创建、运行和停止 A/B 测试](run_stop_ab_tests) — 设置并启动您的第一个测试
- [A/B 测试结果与数据图表](results-and-metrics) — 分析性能并选出优胜方案