测试您的 Google Play 结算库集成

集成情况应在整个开发过程中不断测试。为此,建议您让许可测试人员测试本文介绍的各种场景。如需配置许可测试人员,请参阅使用应用许可来测试应用内购结算功能

让许可测试人员进行测试具有以下优势:

  • 一般来说,未经过签名并上传到 Google Play 的应用不能使用 Google Play 结算库。许可测试人员可以绕过此检查,也就是说您可以旁加载应用进行测试,甚至可以无需上传新版应用,直接旁加载带有调试签名的调试 build 应用。请注意,软件包名称必须与针对 Google Play 配置的应用名称一致,并且 Google 账号必须是许可测试人员的 Google Play 管理中心账号。
  • 许可测试人员可以使用测试用付款方式,该方式不会针对测试人员的购买交易收取真实费用。此外,该方式也可以用来模拟付款遭拒等情况。图 1 显示了购买流程中出现的这些测试用付款方式。
  • 许可测试人员可以快速测试订阅功能
许可测试人员可以使用测试用付款方式
图 1. 许可测试人员可以使用测试用付款方式

以下是对购买流程测试的一些详细附加说明:

  • 进行购买测试时,采用的应用购买流程与实际购买流程相同。
  • 系统不会针对购买测试计算税费。
  • Google Play 会在购买对话框中心显示一条通知,指明此为购买测试。

您可以展开购买对话框来确认进行购买的账号。请注意以下几点:

  • 必须在测试人员的 Android 设备上设置测试账号。
  • 如果设备上有多个账号,会使用下载应用时所用的账号进行购买。
  • 如果没有账号下载过应用,会使用第一个账号进行购买。

您在分发应用之前,可以使用 Google Play 测试轨道来执行额外的验证。例如,您可以利用测试轨道让 QA 团队检查新版本是否符合条件。

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

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

  1. 将您的应用发布到测试轨道。请注意,应用发布到测试轨道后,可能需要过几个小时才能由测试人员使用。
  2. 确保每个测试人员都选择加入您应用的测试。在测试的加入测试网址上,测试人员会看到其职责说明,以及选择加入测试的链接。

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

测试一次性商品

测试消耗型商品

在测试消耗型商品时,建议您测试各种情况,其中包括:

  • 购买交易成功,用户收到商品。对于许可测试人员,您可以使用测试用付款方式,一律批准付款方式。
  • 在购买交易中,通过付款方式扣款失败,用户不应收到商品。对于许可测试人员,您可以使用测试用付款方式,一律拒绝付款方式。
  • 确保商品可以多次购买。

您还应验证购买交易是否像处理购买交易中所述的那样得到了正确的确认。对于许可测试人员发起的购买交易,如果您的应用未确认购买交易,将在 3 分钟后退款,并且您将收到一封关于取消购买交易的电子邮件。您也可以前往 Google Play 管理中心的订单标签页,查看是否有个订单在 3 分钟后退款。

测试非消耗型商品

非消耗型商品的测试应与消耗型商品相同,但您应验证应用中是否无法重复购买商品。请务必对非消耗型商品和消耗型商品的购买交易确认都进行验证(如果适用),因为这两种购买交易的处理逻辑是不一样的。

测试待处理的购买交易

您应该测试待处理的购买交易,确认当购买交易状态变为 PURCHASED 后,商品应被授予许可。许可测试人员还可以使用两种测试付款方式,以测试在几分钟后自动完成或取消的延迟付款方式。

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

    使用遭拒的慢速测试卡测试购买交易
    图 2. 使用遭拒的慢速测试卡测试购买交易

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

    使用已获批准的慢速测试卡测试购买交易
    图 3. 使用已获批准的慢速测试卡测试购买交易

如需了解详情,请参阅处理待处理的交易

测试订阅专用功能

一次性商品和订阅的购买流程类似,但订阅还有其他场景,如续订成功或遭拒。如需测试续订,您可以使用许可测试人员可用的测试用付款方式,一律批准测试用付款方式,一律拒绝这两种付款方式,如图 1 所示。使用这些付款方式来测试除成功订阅之外的场景。

与一次性商品类似,您还应验证购买交易是否像处理购买交易中所述的那样得到了正确的确认。对于许可测试人员发起的购买交易,如果您的应用未确认购买交易,将在 3 分钟后退款,并且您将收到一封关于取消购买交易的电子邮件。您也可以前往 Google Play 管理中心的“订单”标签页,查看是否有个订单在 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 管理中心执行价格迁移时,可能不会为许可测试人员注册。为了确保价格变动通知和电子邮件可供测试,开发者应在触发价格变动后,将结算时间延迟 1 小时。
  • 价格下调没有通知期限。同类群组迁移后不久,用户就会收到有关价格下调的通知。测试时这一点不会有变。
  • 对于价格上调,测试通知时间的计算方式与实际价格上调时相同:
    • 系统会在规定的通知期限过后的第一个结算周年向用户首次收取费用。
    • 通知时间从首次收费日期开始向后计算。
    • 无论结算周期如何,最终通知始终都是在收费前 1 分钟发出。

下表显示了几个实际结算周期的测试结算周期和通知期限:

实际基础方案结算周期 测试结算周期 测试通知期限(“用户选择接受才生效”和“用户选择拒绝才无效”地区,通知期限为 30 天) 测试通知期限(“用户选择拒绝才无效”地区,通知期限为 60 天)
1 周 5 分钟 5 分钟 10 分钟
1 个月 5 分钟 5 分钟 10 分钟
3 个月 10 分钟 3 分钟 6 分钟
6 个月 15 分钟 2 分钟 4 分钟
1 年 30 分钟 3 分钟 6 分钟

测试用例

点击显示/隐藏可展开下面一部分,显示您应使用哪些测试场景来验证订阅集成。

测试促销代码

您可以使用 Google Play 管理中心为您自己的测试创建代码。请注意,您针对一个应用中所有受管理的商品,每个季度最多只能创建 500 个促销代码。

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

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

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

  • 在安装应用之前进行兑换。
  • 当应用在前台运行时进行兑换。请注意,对于此测试,您还需要一台设备,以使用 Google Play 商店应用进行测试。请务必测试在应用中不同屏幕上的兑换情况。
  • 多窗口模式下进行兑换,在这种模式下,您的应用和 Google Play 商店应用会同时显示。

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

测试不同地区的购买体验

借助许可测试人员,您还可以在任何地区测试购买流程,而无需针对该国家/地区提供真实的付款方式。请按照以下步骤进行测试:

  1. 创建一个新的 Gmail 账号。您可以在任何国家/地区创建账号。
  2. 将用户设置为许可测试人员。
  3. 通过 VPN 进入所需的测试国家/地区。
  4. 启动购买流程。

您可以清除 Play 商店数据和缓存,然后针对您要测试的任何国家/地区重复第 3 步和第 4 步。切换到新的国家/地区后,您需要清除 Google Play 商店的数据,以移除与之前的国家/地区相关的数据。

无论您实际从哪里进行测试,这种测试购买的方法都可以让您测试任何地区的优惠地区资格条件和用户体验。