跳转到正文

配置 Android Sandbox Testing

GitHub

测试应用内购买需要在 Google Play Console 中进行正确配置。本指南将引导您完成 Android 应用的沙盒测试设置。

在开始之前,请区分以下三种 Android Build 类型:

  • 本地 Debug/Dev Build:适用于在设备上检查 UI 和原生集成情况。
  • 已签名并上传至 Play Console 的 Release AAB:进行真实的 Google Play 结算测试所必需。
  • 通过 Play Store 安装的测试 Build:测试人员通过内部或封闭测试轨道安装的 Build。请使用此版本进行购买功能的 QA。

如果你仅通过 Android Studio 侧载 APK,或者 adb,Google Play Billing 的表现可能与生产环境不一致。对于订阅和应用内购买的校验,请务必使用从 Google Play 安装的 Build 进行测试。

  • 一个 Google Play Console 开发者账号。如果您尚未创建,请从 Play Console 注册页面开始.
  • 一个已在 Play Console 中创建、且包含最终 Android 包名的应用记录
  • 已在 Play Console 中创建的应用内商品或订阅项目
  • 一个可用于许可测试 (license testing) 的测试 Gmail 账号
  • 一个已签名并准备好上传的 release build

在投入时间进行结算设置之前,请先在 Play Console 中创建应用,并决定它是 免费 或 付费。Google 允许您稍后将付费应用转为免费,但一旦应用曾以免费形式提供,则无法再转为付费。

使用 Android App Bundle (.aab) 用于新的 Play Store 应用:

终端窗口
bunx cap sync android
cd android
./gradlew bundleRelease

在运行之前,请确保已配置好 Android release signing。 bundleRelease如果尚未设置 keystore、signing config 或 release 密码,请通过 Android Studio 使用 构建 > 生成签名 App Bundle / APK来创建已签名的 bundle,系统会提示你输入这些值。

  1. 添加测试账号

    在 Play Console 中,打开 设置 > 许可测试 并添加 Android 测试设备上使用的主要 Google 账号。

    这能确保支付流程进入 Play 沙盒模式,而不是尝试进行真实扣款。

    添加测试账号

  2. 选择测试轨道

    前往 测试和发布 > 测试 并选择以下轨道之一:

    • 内部测试:QA 和计费冒烟测试的最快路径。新 bundle 通常在几分钟内即可可用。
    • 封闭测试:适用于更广泛的测试;对于 2023 年 11 月 13 日之后创建的个人开发者账号,上线前必须经过此阶段。

    对于首次发布,Play 可能会向内部测试人员显示临时的应用名称和详情,时间最长可达 48 小时。

    创建测试轨道

  3. 创建测试人员列表

    打开测试轨道后,创建一个测试人员列表,并将需要接收构建版本的 Google 账号添加进去。

    如果您正在使用新创建的个人账号申请正式发布权限,请务必使用 封闭测试 并确保至少有 12 名测试人员连续 14 天参与测试。

    创建测试人员列表

  4. 上传已签名的 Release Build

    在选定的测试轨道中创建新版本,并上传您的已签名 .aab.

    新的 Google Play 应用应使用 Android App Bundle 而非 APK。上传后,保存版本,修复 Play 标记的任何政策或商店详情问题,然后将版本发布到测试轨道。

    上传 Release Build

  5. 加入测试计划

    在测试设备上打开 opt-in URL,然后点击 “成为测试人员” 按钮进行加入。

    请通过该 opt-in 流程创建的 Play Store 页面安装应用,不要使用本地导出的 APK。

    加入测试

  6. 构建与测试

    在测试设备上启动通过 Play Store 安装的版本并尝试购买。你应该会看到如下提示:

    “这是一笔测试订单;您不会被扣费。”

    测试购买

  • 进行计费 QA 时,请在安装 Play 测试版之前,卸载任何通过 sideload 安装的应用副本。
  • 内部测试非常适合快速进行冒烟测试,但对于个人账号申请生产环境权限,封闭测试才是关键路径。
  • 测试账号不会被扣除购买费用
  • 测试购买流程与生产环境购买流程一致
  • 你可以测试所有订阅功能,包括试用期和入门优惠
  • 测试订阅的续订周期已加速,以便进行更快速的测试
  • 请在以下三个地方使用同一个 Google 账号:设备上的 Play Store、测试人员加入流程以及许可测试 (License testing)

测试模式下未显示商品:

  • 确保你的 App 已上传至测试轨道
  • 确认测试账号已添加到许可测试 (License testing) 中
  • 检查 Google Play Console 中的商品是否处于激活状态
  • 确认应用是从 Google Play 安装的,而非本地 sideload 安装

“Item not available” 错误:

  • 创建商品后请等待 2-3 小时使其生效
  • 确保应用的 package name 与 Play Console 中的一致
  • 确认已登录测试账号
  • 确认你上传的是指向相同 package name 和商品目录的已签名 release build

测试购买时显示为真实扣费:

  • 再次检查该账号是否已添加到 License testing 中
  • 确保你使用的是来自测试轨道 (testing track) 的 build
  • 确认购买过程中出现了测试横幅 (testing banner)

从“配置 Android Sandbox Testing”继续

“继续配置 Android Sandbox Testing”章节

如果你正在使用 配置 Android Sandbox Testing 要规划商店审核与分发,请将其与 使用 @capgo/native-purchases 关于“使用 @capgo/native-purchases”中的原生能力, @capgo/capacitor-in-app-review 有关 @capgo/capacitor-in-app-review 中的实现细节, 使用 @capgo/capacitor-in-app-review 有关《使用 @capgo/capacitor-in-app-review》中的原生能力, @capgo/capacitor-native-market 有关 @capgo/capacitor-native-market 的实现细节,以及 使用 @capgo/capacitor-native-market 有关使用 @capgo/capacitor-native-market. 的原生能力