测试您的 Google Play 结算库集成

您应该在整个开发过程中测试您的集成。为了在开发阶段进行测试,我们建议利用许可证测试人员Play 结算实验室来运行本节中描述的场景。

许可证测试人员

要配置许可证测试人员,请参阅使用应用许可测试应用内结算

使用许可证测试人员可提供以下好处

  • 通常,对于未签名且未上传到 Google Play 的应用,Google Play 结算库会被阻止。许可证测试人员可以绕过此检查,这意味着您可以侧载应用以进行测试,即使对于使用调试版本和调试签名的应用,也不需要上传到应用的新版本。请注意,包名必须与为 Google Play 配置的应用的包名匹配,并且 Google 帐户必须是 Google Play 控制台帐户的许可证测试人员。
  • 许可证测试人员可以访问测试付款方式,避免为测试人员的购买收取真实费用。您还可以使用测试付款方式来模拟某些情况,例如付款被拒绝时的情况。图 1 显示了这些测试付款方式在购买流程中的显示方式。
  • 许可证测试人员可以快速测试订阅功能
license testers have access to test payment methods
图 1. 许可证测试人员可以访问测试付款方式。

以下是关于测试购买流程的一些其他详细信息

  • 测试购买使用与实际购买相同的应用购买流程。
  • 测试购买不计算税款。
  • Google Play 通过在购买对话框的中央显示通知来指示测试购买。

您可以通过展开购买对话框来确认正在进行购买的帐户。请注意以下事项

  • 测试帐户必须位于测试人员的 Android 设备上。
  • 如果设备有多个帐户,则使用下载应用的帐户进行购买。
  • 如果没有任何帐户下载了应用,则使用第一个帐户进行购买。

在发布应用之前,您可以利用 Google Play 的 测试轨道 进行额外的验证。例如,您可以利用测试轨道让您的 QA 团队对新版本进行资格认证。

通过测试轨道,用户可以从 Google Play 安装您的应用并测试尚未公开发布的应用版本。用户可以使用 Google Play 中的任何付款方式进行真实的购买。

要使用测试轨道测试您的 Google Play 结算库集成,请执行以下操作

  1. 将您的应用发布到 测试轨道。请注意,在您将应用发布到测试轨道后,应用可能需要几个小时才能供测试人员使用。
  2. 确保每个测试人员 选择加入您的应用测试。在测试的选择加入 URL 上,您的测试人员会看到有关成为测试人员的含义的说明以及选择加入的链接。

您可以在运行 Android 1.6 或更高版本的任何 Android 硬件设备上测试您的集成。设备上必须安装最新版本的 Google Play 应用。有关如何设置设备以用于开发 Android 应用的一般信息,请参阅 使用硬件设备

Play 结算实验室

Play 结算实验室是一款 Android 应用,可帮助开发者测试其与 Google Play 结算系统的集成。它为开发者提供了一种简单便捷的方式来测试结算功能,更快地集成并以更高的信心发布。您可以从 Play 商店 下载并安装 Play 结算实验室。

Play 结算实验室使您能够在测试中执行以下操作

Play Billing Lab Dashboard
图 2. Play 结算实验室仪表盘。

测试一次性商品

测试消耗型商品

在测试消耗型商品时,我们建议测试各种情况,包括以下情况

  • 成功购买,用户收到商品。对于许可证测试人员,您可以使用测试工具,始终批准付款方式。
  • 付款方式无法成功扣款的购买,用户不应收到商品。对于许可证测试人员,您可以使用测试工具,始终拒绝付款方式。
  • 确保商品可以多次购买。

您还应验证购买是否已按照 处理购买 中所述正确确认。对于来自许可证测试人员的购买,如果您的应用未确认购买,则将在 3 分钟后退款,您会收到一封有关取消的电子邮件。您还可以查看 Google Play Console 中的订单选项卡,以查看订单是否在 3 分钟后已退款。

测试非消耗型商品

非消耗型商品的测试方法与消耗型商品相同,但您应验证在您的应用中无法再次购买商品。请务必验证非消耗型商品和消耗型商品的购买确认(如果适用),因为处理这两种类型的购买的逻辑有所不同。

测试待处理购买

您应该测试待处理购买,其中应在购买状态变为 PURCHASED 时授予商品。许可证测试人员可以使用两种测试工具来进行延迟付款方式,其中付款将在几分钟后自动完成或取消。

  1. 使用延迟付款方式“缓慢测试卡,几分钟后拒绝”进行购买,如图 2 所示。重启应用,验证购买尚未授予。

    test a purchase with a declined slow test card
    图 3. 测试使用拒绝的缓慢测试卡进行购买。

  2. 使用延迟付款方式“缓慢测试卡,几分钟后批准”进行购买,如图 3 所示。等待几分钟,验证购买已授予。

    test a purchase with an approved slow test card
    图 4. 测试使用批准的缓慢测试卡进行购买。

您可以在 处理待处理交易 中找到更多信息。

测试特定于订阅的功能

一次性商品和订阅的购买流程相似,但订阅有其他场景,例如成功或拒绝的订阅续订。要测试续订,您可以使用许可证测试人员可用的测试工具,始终批准测试工具,始终拒绝付款方式,如图 1 所示。使用这些付款工具来测试除成功订阅场景之外的其他场景。

与一次性商品类似,您还应验证购买是否已按照 处理购买 中所述正确确认。对于来自许可证测试人员的购买,如果您的应用未确认购买,则将在 3 分钟后退款,您会收到一封有关取消的电子邮件。您还可以查看 Google Play Console 中的订单选项卡,以查看订单是否在 3 分钟后已退款。

续订周期

测试订阅的续订速度比实际订阅快,并且测试订阅最多可以续订六次,不包括免费试用和优惠期。

下表列出了不同时长的订阅的测试续订时间。这些时间是近似值。您可能会看到事件精确时间存在细微差异。为了弥补差异,请在每个订阅到期日期后调用 API 以查看当前状态。

生产订阅周期 测试订阅续订
1 周 5 分钟
1 个月 5 分钟
3 个月 10 分钟
6 个月 15 分钟
1 年 30 分钟

基于时间的订阅功能(如免费试用)也会缩短以进行测试。下表标识了与基于时间的订阅功能关联的测试时间段

功能 测试周期
购买确认 5 分钟
免费试用 3 分钟
优惠期 与订阅测试周期相同
宽限期(3 天和 7 天) 5 分钟
帐户保留 10 分钟
暂停(1 个月) 5 分钟
暂停(2 个月) 10 分钟
暂停(3 个月) 15 分钟

试用优惠

使用 Play 结算实验室的试用优惠测试功能,许可证测试人员可以通过选中“测试免费试用或优惠期”复选框并应用更改,无限次测试和使用免费试用或优惠期。这样就不需要创建多个帐户来测试仅对新订阅者提供的试用优惠。

test trial offers
图 5. 测试试用优惠。

价格变更

您还可以使用 Play 结算实验室和许可证测试人员来测试 订阅价格变更,而不会影响其他活跃订阅者,具体步骤如下

  1. 仪表盘中的订阅设置卡片上点击管理
  2. 选择要测试的活动订阅。
  3. 输入新价格。
  4. 根据您的测试要求选中或取消选中用户选择退出复选框。
  5. 点击应用
test subscription price change
图 6. 测试订阅价格变更。

应用更改后,价格将从下一次续订开始仅对测试人员更新。其他活跃订阅者不会受到影响。所有许可证测试人员规则都将应用于测试订阅。然后,测试人员可以测试其应用中由价格变更触发的下游流程,例如价格变更通知。

在计划测试周期时,请牢记以下事项

  • 由于许可证测试人员的续订时长较短,因此从控制台进行的价格迁移可能无法在许可证测试人员中注册。为了确保可以测试价格变更通知和电子邮件,开发者应在触发价格变更后至少延迟一小时计费。
  • 降价没有通知期。用户在群体迁移后很快就会收到降价通知。在测试时,这一点保持不变。
  • 对于涨价,测试通知时间与实际涨价时的计算方式相同
    • 用户在第一个计费周年纪念日后首次按新价格计费,前提是必须满足通知期。
    • 通知时间是从第一个计费日期倒推计算的。
    • 无论计费周期如何,最终通知始终是在计费前 1 分钟。

下表显示了几个实际计费周期的测试计费和通知周期

实际基本计划计费周期 测试计费周期 测试通知周期(选择加入和选择退出区域,通知期为 30 天) 测试通知周期(选择退出区域,通知期为 60 天)
1 周 5 分钟 5 分钟 10 分钟
1 个月 5 分钟 5 分钟 10 分钟
3 个月 10 分钟 3 分钟 6 分钟
6 个月 15 分钟 2 分钟 4 分钟
1 年 30 分钟 3 分钟 6 分钟

测试用例

点击显示/隐藏展开以下部分,以显示您应用于验证订阅集成的测试场景。

测试挂起的交易。

您应该测试挂起的交易是否得到正确处理,以及当购买状态变为PURCHASED时授权是否相应更新。许可测试人员可以使用两种测试工具来测试延迟付款方式,其中付款将在几分钟后自动完成或取消。

  1. 使用延迟付款方式“缓慢测试卡,几分钟后拒绝”进行购买,如图 2 所示。重启应用,验证购买尚未授予。

    test a purchase with a declined slow test card
    图 2. 测试使用被拒慢速测试卡的购买。

  2. 使用延迟付款方式“缓慢测试卡,几分钟后批准”进行购买,如图 3 所示。等待几分钟,验证购买已授予。

    test a purchase with an approved slow test card
    图 3. 测试使用批准慢速测试卡的购买。

测试促销代码。

您可以使用 Google Play Console 创建您自己的测试代码。请记住,您每个季度在应用中所有托管产品中最多只能创建 500 个促销代码。

您应该测试以下促销代码兑换场景。

  • 在应用内启动的购买对话框中输入促销代码时。
  • 在 Google Play 商店应用中兑换促销代码时。
  • https://play.google.com/store 使用左侧导航栏中的“兑换”按钮兑换促销代码时。

在这些场景中,您应该尽可能多地测试兑换代码的方式。我们建议至少执行以下测试。

  • 安装应用之前兑换。
  • 应用在前台运行时兑换。请注意,对于此测试,您需要另一台设备才能使用 Google Play 商店应用进行测试。请务必测试应用中不同屏幕的兑换操作。
  • 使用多窗口模式兑换,其中您的应用和 Google Play 商店应用同时显示。

对于每个测试,请确保正确检测到商品,并通知用户。

在不同的地区测试购买体验。

您可以使用或不使用 Play Billing Lab 测试购买体验。

使用

使用 Play Billing Lab Android 应用,您可以在任何地区测试购买流程。但是,要使用 Play Billing Lab,您必须是许可测试人员。请按照以下步骤进行测试。

  1. 将应用计费用户注册为许可测试人员。
  2. 使用相同的用户登录 Play Billing Lab 应用。
  3. 选择所需的国家/地区并在 Play Billing Lab 中应用更改。
  4. 在正在测试的应用中启动购买流程。
test purchase experience in different regions
图 7. 在不同的地区测试购买体验。

不使用

您也可以在任何地区测试购买流程,而无需使用 Play Billing Lab。请按照以下步骤进行测试。

  1. 创建一个新的 Gmail 帐户。该帐户可以在任何国家/地区创建。
  2. (可选)您可以将用户设置为许可测试人员。
  3. 连接到所需的国家/地区的 VPN 以进行测试。
  4. 启动购买流程。

您可以清除 Play 商店数据和缓存,然后使用您想要测试的任何国家/地区重复步骤 3 和 4。切换到新国家/地区后,您需要清除 Google Play 商店的数据以删除与先前国家/地区相关的数据。

这两种测试购买的方法都允许您测试优惠的区域资格和任何地区的的用户体验,而不管您在物理上在哪里进行测试。