集成情况应在整个开发过程中不断测试。为此,建议您让许可测试人员使用 Play Billing Lab 测试本部分介绍的各种场景。
许可测试人员
如需配置许可测试人员,请参阅使用应用许可来测试应用内购结算功能。
让许可测试人员进行测试具有以下优势:
- 一般来说,未经过签名并上传到 Google Play 的应用不能使用 Google Play 结算库。许可测试人员可以绕过此检查,这意味着您可以旁加载应用进行测试,即使应用使用的是带有调试签名的调试 build,也无需上传到应用的新版本。请注意,软件包名称必须与为 Google Play 配置的应用的软件包名称一致,并且 Google 账号必须是 Google Play 管理中心账号的许可测试人员。
- 许可测试人员可以使用测试用支付方式,该方式不会针对测试人员的购买交易收取真实费用。此外,您也可以使用测试支付方式来模拟付款遭拒等情况。图 1 显示了购买流程中出现的这些测试用支付方式。
- 许可测试人员可以快速测试订阅功能。
以下是对购买流程测试的一些详细附加说明:
- 进行购买测试时,采用的应用购买流程与实际购买流程相同。
- 系统不会针对购买测试计算税费。
- Google Play 会在购买对话框中心显示一条通知,指明此为购买测试。
您可以展开购买对话框来确认进行购买的账号。请注意以下几点:
- 必须在测试人员的 Android 设备上设置测试账号。
- 如果设备上有多个账号,会使用下载应用时所用的账号进行购买。
- 如果没有账号下载过应用,会使用第一个账号进行购买。
使用 Google Play 测试轨道进行分发前验证,例如让 QA 团队检查新版本是否符合条件。借助测试轨道,许可测试人员可以从 Google Play 安装和评估应用的未发布版本。普通用户可以使用标准支付方式进行真实购买。
如需使用测试轨道测试 Google Play 结算库的集成,请执行以下操作:
- 将您的应用发布到测试轨道。请注意,应用发布到测试轨道后,可能需要过几个小时才能由测试人员使用。
- 确保每个测试人员都选择加入您应用的测试。在测试的加入测试网址上,测试人员会看到其职责说明,以及选择加入测试的链接。
您可以在搭载 Android 1.6 或更高版本的任何 Android 设备上测试集成,但设备必须安装最新版本的 Google Play 应用。有关如何设置设备以便用于开发 Android 应用的一般信息,请参阅使用硬件设备。
Play Billing Lab
Play Billing Lab 是一款 Android 应用,可帮助开发者测试与 Google Play 结算系统的集成。它为开发者提供了一种便捷的方式来测试结算功能、更快地进行集成,并更加信心十足地发布应用。 您可以从 Play 商店下载并安装 Play Billing Lab。
借助 Play Billing Lab,您可以在测试中执行以下操作:
- 在 Play Billing Lab 中更改 Play 国家/地区,并将设置应用于测试。这样一来,无论测试人员实际从哪里进行测试,都可以测试不同国家/地区的自定义用户体验
- 使用同一账号重复测试试用或初次体验优惠
- 测试订阅价格变动,而不会影响其他活跃订阅者
- 加快订阅状态转换,以加快订阅续订速度,或一键将测试订阅移至宽限期或账号冻结状态,以加快测试速度
- 使用真实的支付方式进行测试,以绕过某些购买流程风险信号
- 测试应用外购买,确保您的后端可以处理这些购买交易
测试一次性商品
测试消耗型商品
在测试消耗型商品时,请测试各种情况,其中包括:
- 购买交易成功,用户收到商品。对于许可测试人员,您可以使用测试用支付方式,一律批准支付方式。
- 在购买交易中,通过支付方式扣款失败,用户不应收到商品。对于许可测试人员,您可以使用测试用付款方式,一律拒绝付款方式。
- 确保商品可以多次购买。
验证购买交易是否像处理购买交易中所述的那样得到了正确的确认。对于许可测试人员发起的购买交易,如果您的应用未确认购买交易,系统将在 3 分钟后退款,并向您发送一封关于交易取消的电子邮件。您也可以前往 Google Play 管理中心的订单标签页,查看是否有个订单在 3 分钟后退款。
测试非消耗型商品
非消耗型商品的测试应与消耗型商品相同,但您应验证应用中是否无法重复购买商品。请务必对非消耗型商品和消耗型商品的购买交易确认都进行验证(如果适用),因为这两种购买交易的处理逻辑是不一样的。
测试待处理的购买交易
测试待处理的购买交易,确认当购买交易状态变为 PURCHASED 后,商品应被授予许可。许可测试人员还可以使用两种测试付款方式,以测试在几分钟后自动完成或取消的延迟付款方式。
使用延迟支付方式慢速测试卡,几分钟后拒绝进行购买,如图 3 所示。重启应用,验证购买交易是否未授予许可。
图 3. 使用遭拒的慢速测试卡测试购买交易 使用延迟支付方式慢速测试卡,几分钟后批准进行购买,如图 4 所示。等待几分钟,验证购买交易是否已授予许可。
图 4. 使用已获批准的慢速测试卡测试购买交易
如需了解详情,请参阅处理待处理的交易。
测试用户发起的退款
许可测试人员可以使用测试用付款方式,该方式可让他们模拟用户发起的退款。
使用测试用付款方式测试卡片,批准后撤销扣款进行购买,如图 5 所示。不久之后,您的系统应该会通过适用的平台收到测试购买交易已交付和已退款的通知。例如,您应该会在完成购买后立即收到 PendingRefundReviewNotification。
图 5.使用批准后撤销扣款的测试卡测试购买交易。
测试订阅专用功能
一次性商品和订阅的购买流程类似,但订阅还有其他场景,如续订成功或遭拒。如需测试续订,您可以使用许可测试人员可用的测试卡,一律批准和测试卡,一律拒绝这两种付款方式,如图 1 所示。使用这些支付方式来测试除成功订阅之外的场景。
与一次性商品类似,您还应验证购买交易是否像处理购买交易中所述的那样得到了正确的确认。对于许可测试人员发起的购买交易,如果您的应用未确认购买交易,系统将在 3 分钟后退款,并向您发送一封关于交易取消的电子邮件。您也可以前往 Google Play 管理中心的订单标签页,查看是否有个订单在 3 分钟后退款。
续订期
测试订阅不仅在续订速度上比实际订阅快,而且最多可续订六次(不包括免费试用期和初次体验期)。
下表列出了时长不同的订阅的测试续订时间。这些时间均为近似值。您可能会看到这与事件的精确时间存在细微的差异。为了弥补差异,请在每个订阅失效日期之后调用 API 以查看当前状态。
| 生产订阅期 | 测试订阅续订 |
| 1 周 | 5 分钟 |
| 1 个月 | 5 分钟 |
| 3 个月 | 10 分钟 |
| 6 个月 | 15 分钟 |
| 1 年 | 30 分钟 |
基于时间的订阅功能(如免费试用)也为了方便测试而缩短了时间。下表列出了与基于时间的订阅功能关联的测试时间段:
| 功能 | 测试期 |
| 账号保留功能 | 10 分钟 |
| 免费试用 | 3 分钟 |
| 宽限期 | 5 分钟 |
| 初次体验价周期 | 与订阅测试周期相同 |
| 暂停(1 个月) | 5 分钟 |
| 暂停(2 个月) | 10 分钟 |
| 暂停(3 个月) | 15 分钟 |
| 价格上调同意期 (仅适用于韩国 [KR] 地区) |
3 分钟 |
| 购买交易确认 | 5 分钟 |
加速订阅状态转换
您还可以使用 Play Billing Lab 和许可测试人员来缩短测试订阅续订周期,以加快订阅测试速度,或将测试订阅移至宽限期或账号冻结状态,以测试付款遭拒场景,具体步骤如下:
- 在信息中心内,点击订阅设置卡片上的管理。
- 选择要测试的有效订阅。
- 点击订阅状态下拉菜单。
- 点击目标状态以更新订阅状态。
在下拉菜单中选择目标订阅状态后,测试订阅状态很快就会更新。
请注意:
- 必须先确认测试订阅,然后才能使用“加速订阅状态转换”功能。
- 当您将测试订阅移至宽限期或账号冻结状态时,系统会自动拒绝您的支付方式。当您恢复测试订阅时,您的支付方式将恢复为自动批准。
- 订阅状态转换过程可能需要几秒钟才能执行。
- 当订阅状态转换正在进行时,订阅价格变更功能不可用。
- 如果您在价格变动生效时续订测试订阅,Play 会在用户接受新价格后应用新价格。不过,如果新价格需要用户接受,而用户尚未同意,则 Play 会取消订阅。
试用优惠
借助 Play Billing Lab 试用优惠测试功能,许可测试人员可以选中测试免费试用或初次体验优惠复选框并应用更改,从而无限次测试和使用免费试用或初次体验优惠。这样一来,您就无需创建多个账号来测试仅面向新订阅者的试用优惠。
价格变动
您还可以使用 Play Billing Lab 并配备许可测试人员,来测试订阅价格变动,而不会影响其他活跃订阅者,具体步骤如下:
- 在信息中心内,点击订阅设置卡片上的管理。
- 选择要测试的有效订阅。
- 输入新价格。
- 根据测试要求,选中或取消选中用户选择停用复选框。
- 点击应用。
应用更改后,价格将从下次续订开始更新,但仅针对测试人员。其他有效订阅者不会受到影响。所有许可测试人员规则都适用于测试订阅。然后,测试人员可以测试其应用中由价格变动触发的下游流程,例如价格变动通知。
在规划测试期限时,请注意以下事项:
- 由于许可测试人员的续订期较短,因此从 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 分钟 |
价格上调同意声明
您可以在 purchases.subscriptionsv2.get API 中查看与需要用户同意的价格上调相关的信息。
在价格上调生效之前,Google Play 会向相关用户(包括许可测试人员)发送两次价格上调推送通知和电子邮件通知。测试的通知期如下:
| 通知时间表 | 测试通知期 |
| 首次通知 | 3 分钟 |
| 第二次(最终)通知 | 1 分钟 |
测试用例
点击显示/隐藏可展开下面一部分,显示您应使用哪些测试场景来验证订阅集成。
测试待处理交易
您应测试待处理交易是否得到正确处理,以及当购买交易状态变为 PURCHASED 时,相应的使用权是否会更新。许可测试人员还可以使用两种测试付款方式,以测试在几分钟后自动完成或取消的延迟付款方式。
使用延迟支付方式慢速测试卡,几分钟后拒绝进行购买,如图 9 所示。重启应用,验证购买交易是否未授予许可。
图 9. 使用遭拒的慢速测试卡测试购买交易 使用延迟付款方式慢速测试卡,几分钟后批准进行购买,如图 10 所示。等待几分钟,验证购买交易是否已授予许可。
图 10. 使用已获批准的慢速测试卡测试购买交易
测试促销代码
您可以使用 Google Play 管理中心为您自己的测试创建代码。请注意,您针对一个应用中所有受管理的商品,每个季度最多只能创建 500 个促销代码。
您应测试以下促销代码兑换场景:
- 在您的应用内启动的购买对话框中输入促销代码。
- 在 Google Play 商店应用中兑换促销代码。
- 在 https://play.google.com/store 上使用左侧导航栏中的兑换按钮兑换促销代码。
在这些场景中,您应以尽可能多的方式测试代码的兑换。至少执行以下测试:
- 在安装应用之前进行兑换。
- 当应用在前台运行时进行兑换。请注意,对于此测试,您还需要一台设备,以使用 Google Play 商店应用进行测试。请务必测试在应用中不同屏幕上的兑换情况。
- 在多窗口模式下进行兑换,在这种模式下,您的应用和 Google Play 商店应用会同时显示。
对于每个测试,请确保正确检测到商品并向用户发送通知。
测试不同地区的购买体验
您可以使用 Play Billing Lab 应用测试不同地区的购买体验。如需使用 Play Billing Lab,您必须是许可测试人员。请按照以下步骤进行测试:
- 将应用结算用户注册为许可测试人员。
- 使用同一用户登录 Play Billing Lab 应用。
- 选择所需国家/地区,然后在 Play Billing Lab 中应用更改。
在测试应用中启动购买流程。
图 11. 测试不同地区的购买体验。
无论您实际从哪里进行测试,Play Billing Lab 都可以让您测试任何地区的优惠地区资格条件和用户体验。
使用真实支付方式测试购买体验
您可以使用 Play Billing Lab Android 应用,通过真实的支付方式测试购买体验。
请按照以下步骤测试真实的支付方式:
- 将 Google 账号用户注册为许可测试人员。
- 使用同一用户登录 Play Billing Lab 应用。
- 在 Play Billing Lab 应用中启用真实支付方式。
- 重启并在受测应用中启动购买流程。
未发布应用的支出限额
处于草稿阶段或发布到内部测试轨道的应用受支出限额约束。
Google Play 会对以下内容施加限制:
- 每日交易次数:用户每天在所有未发布的应用中可以进行的交易次数。
- 每笔订单价值:单笔交易的最高金额。
- 每日总支出:用户在所有未发布应用中的每日累计支出。
这些限额每 24 小时重置一次。
如果用户在测试您的应用时超出上述任何限制,则会在购物车中看到一条出错提示,并且交易会被阻止。
测试应用外购买
您可以使用 Play Billing Lab 应用测试在应用外部获取的权益的端到端体验。如需使用 Play Billing Lab,您必须是所测试应用的许可测试人员。
第 1 步 - 配置测试
- 将应用结算用户注册为许可测试人员。
- 打开 Play 商店,并使用同一用户登录。
- 打开 Play Billing Lab 应用,并使用同一用户登录。
- 选择应用外购买测试卡。
- 可选:选择测试国家/地区,然后在 Play Billing Lab 中应用更改。
- 如果您未选择国家/地区,Play Billing Lab 会使用您已获许可的测试账号的 Play 国家/地区。
- 输入您要测试的应用和商品 (SKU) 信息。
- 选择要测试的特定购买选项、基础方案或优惠。
- 点击开始测试。
第 2 步 - 获取应用外商品
第 3 步 - 处理并交付权益
您的应用应检测应用外购买交易,然后将商品交付给相应用户。如需了解完整流程,请参阅处理购买交易。
精选产品
- 打开 Play 商店,然后使用您在 Play Billing Lab 中配置测试时所用的同一许可测试人员账号登录。
- 如果 Play 商店之前处于打开状态,请将其关闭并重新启动。
- 前往应用的“应用详细信息”页面。
- 此页面上会显示该商品。
- 选择相应商品并完成购买交易。
购买推荐
弃购后:
- 重启应用。
- 在应用中启动一次性商品的购买流程。
- 关闭或放弃购物车对话框,而不完成交易。
- 查看“遭放弃购物车购买”建议。
- 接受建议并完成购买。
Google Play 游戏奖励
点击发放奖励,模拟 Play 向用户发放奖励。必须先处理现有奖励,然后才能授予其他奖励。