集成情况应在整个开发过程中不断测试。为此,建议您让许可测试人员和 Play 结算实验室测试本部分中介绍的各种场景。
许可测试人员
如需配置许可测试人员,请参阅使用应用许可来测试应用内购结算功能。
让许可测试人员进行测试具有以下优势:
- 一般来说,未经过签名并上传到 Google Play 的应用不能使用 Google Play 结算库。许可测试人员可以绕过此检查,也就是说您可以旁加载应用进行测试,甚至可以无需上传新版应用,直接旁加载带有调试签名的调试 build 应用。请注意,软件包名称必须与针对 Google Play 配置的应用名称一致,并且 Google 账号必须是许可测试人员的 Google Play 管理中心账号。
- 许可测试人员可以使用测试用付款方式,该方式不会针对测试人员的购买交易收取真实费用。此外,该方式也可以用来模拟付款遭拒等情况。图 1 显示了购买流程中出现的这些测试用付款方式。
- 许可测试人员可以快速测试订阅功能。
以下是对购买流程测试的一些详细附加说明:
- 进行购买测试时,采用的应用购买流程与实际购买流程相同。
- 系统不会针对购买测试计算税费。
- Google Play 会在购买对话框中心显示一条通知,指明此为购买测试。
您可以展开购买对话框来确认进行购买的账号。请注意以下几点:
- 必须在测试人员的 Android 设备上设置测试账号。
- 如果设备上有多个账号,会使用下载应用时所用的账号进行购买。
- 如果没有账号下载过应用,会使用第一个账号进行购买。
您在分发应用之前,可以使用 Google Play 测试轨道来执行额外的验证。例如,您可以利用测试轨道让 QA 团队检查新版本是否符合条件。
借助测试轨道,用户可以从 Google Play 安装您的应用,并测试尚未公开发布的应用版本。用户可以在 Google Play 中使用任何付款方式真正进行购买。
如需使用测试轨道测试 Google Play 结算库的集成,请执行以下操作:
- 将您的应用发布到测试轨道。请注意,应用发布到测试轨道后,可能需要过几个小时才能由测试人员使用。
- 确保每个测试人员都选择加入您应用的测试。在测试的加入测试网址上,测试人员会看到其职责说明,以及选择加入测试的链接。
您可以在搭载 Android 1.6 或更高版本的任何 Android 设备上测试集成,但设备必须安装最新版本的 Google Play 应用。有关如何设置设备以便用于开发 Android 应用的一般信息,请参阅使用硬件设备。
Play 结算服务实验室
Play 结算服务实验室是一款 Android 应用,可帮助开发者测试其与 Google Play 结算系统的集成情况。它可让开发者轻松便捷地测试结算功能、更快地进行集成,并更有信心地发布应用。您可以从 Play 商店下载并安装 Play 结算实验室。
借助 Play 结算服务实验室,您可以在测试中执行以下操作:
- 在 Play 结算服务实验室中更改 Play 国家/地区,并将设置应用于您的测试。这样一来,无论测试人员实际在哪里进行测试,都可以在不同国家/地区测试自定义用户体验
- 使用同一账号反复测试试用或初次体验优惠
- 测试订阅价格变动,而不会影响其他活跃订阅者
- 加快订阅续订速度以加快测试速度
测试一次性商品
测试消耗型商品
在测试消耗型商品时,请测试各种情况,包括:
- 购买交易成功,用户收到商品。对于许可测试人员,您可以使用测试用付款方式,一律批准付款方式。
- 在购买交易中,通过付款方式扣款失败,用户不应收到商品。对于许可测试人员,您可以使用测试用付款方式,一律拒绝付款方式。
- 确保商品可以多次购买。
验证购买交易是否像处理购买交易中所述的那样得到了正确的确认。对于许可测试人员发起的购买交易,如果您的应用未确认购买交易,系统将在 3 分钟后退款,并向您发送一封关于交易取消的电子邮件。您也可以前往 Google Play 管理中心的订单标签页,查看是否有个订单在 3 分钟后退款。
测试非消耗型商品
非消耗型商品的测试应与消耗型商品相同,但您应验证应用中是否无法重复购买商品。请务必对非消耗型商品和消耗型商品的购买交易确认都进行验证(如果适用),因为这两种购买交易的处理逻辑是不一样的。
测试待处理的购买交易
测试待处理的购买交易,确认当购买交易状态变为 PURCHASED
后,商品应被授予许可。许可测试人员还可以使用两种测试付款方式,以测试在几分钟后自动完成或取消的延迟付款方式。
使用延迟付款方式慢速测试卡,几分钟后拒绝进行购买,如图 3 所示。重启应用,验证购买交易是否未授予许可。
使用延迟付款方式慢速测试卡,几分钟后批准进行购买,如图 4 所示。等待几分钟,验证购买交易是否已授予许可。
如需了解详情,请参阅处理待处理的交易。
测试订阅专用功能
一次性商品和订阅的购买流程类似,但订阅还有其他场景,如续订成功或遭拒。如需测试续订,您可以使用许可测试人员可用的测试卡,一律批准和测试卡,一律拒绝这两种付款方式,如图 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 结算服务实验室和许可测试人员,按照以下步骤加速测试订阅的续订期限:
- 在信息中心的订阅设置卡片上,点击管理。
- 选择要测试的有效订阅。
- 点击立即续订。
点击立即续订按钮后,测试订阅将很快续订。
请注意:
- 必须先确认测试订阅,然后才能使用“加速续订”功能,否则订阅将被取消。
- 续订流程可能需要几秒钟的时间才能执行完毕。
- 价格变动生效后,立即续订按钮将不可用。
- 在订阅续订期间,订阅价格更改功能不可用。
试用优惠
借助 Play 结算服务实验室试用优惠测试功能,许可测试人员可以选中测试免费试用或初次体验优惠复选框并应用更改,无限次测试和使用免费试用或初次体验优惠。这样一来,您就不必创建多个账号来测试仅面向新订阅者提供的试用优惠。
价格变动
您还可以使用 Play 结算服务实验室和许可测试人员来测试订阅价格变动,而不会影响其他活跃订阅者,具体步骤如下:
- 在信息中心的订阅设置卡片上,点击管理。
- 选择要测试的有效订阅。
- 输入新价格。
- 根据测试要求,选中或取消选中用户选择停用复选框。
- 点击应用。
应用更改后,价格将从下次续订开始更新,但仅适用于测试人员。其他有效订阅者不会受到影响。 所有许可测试人员规则都适用于测试订阅。然后,测试人员可以测试其应用是否会因价格变动而触发下游流程,例如价格变动通知。
在规划测试期限时,请注意以下事项:
- 由于许可测试人员的续订期较短,因此从 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 分钟 |
测试用例
点击显示/隐藏可展开下面一部分,显示您应使用哪些测试场景来验证订阅集成。
测试待处理的交易
您应测试系统是否正确处理了待处理的交易,以及在购买交易状态变为 PURCHASED
后是否相应地更新了权限。许可测试人员还可以使用两种测试付款方式,以测试在几分钟后自动完成或取消的延迟付款方式。
使用延迟付款方式慢速测试卡,几分钟后拒绝进行购买,如图 8 所示。重启应用,验证购买交易是否未授予许可。
使用延迟付款方式慢速测试卡,几分钟后批准进行购买,如图 9 所示。等待几分钟,验证购买交易是否已授予许可。
测试促销代码
您可以使用 Google Play 管理中心为您自己的测试创建代码。请注意,您针对一个应用中所有受管理的商品,每个季度最多只能创建 500 个促销代码。
您应测试以下促销代码兑换场景:
- 在您的应用内启动的购买对话框中输入促销代码。
- 在 Google Play 商店应用中兑换促销代码。
- 在 https://play.google.com/store 上使用左侧导航栏中的兑换按钮兑换促销代码。
在这些场景中,您应以尽可能多的方式测试代码的兑换。至少执行以下测试:
- 在安装应用之前进行兑换。
- 当应用在前台运行时进行兑换。请注意,对于此测试,您还需要一台设备,以使用 Google Play 商店应用进行测试。请务必测试在应用中不同屏幕上的兑换情况。
- 在多窗口模式下进行兑换,在这种模式下,您的应用和 Google Play 商店应用会同时显示。
对于每个测试,请确保正确检测到商品并向用户发送通知。
测试不同地区的购买体验
您可以使用或不使用 Play 结算服务实验室来测试购买体验:
测试所用系统
借助 Play 结算服务实验室 Android 应用,您可以在任何地区测试购买流程。不过,如需使用 Play 结算实验室,您必须是许可测试人员。请按照以下步骤进行测试:
- 将应用结算用户注册为许可测试人员。
- 使用同一用户登录 Play 结算服务实验室应用。
- 在 Play 结算实验室中选择所需的国家/地区,然后应用更改。
- 在被测应用中启动购买流程。
不使用进行测试
您还可以在任何地区测试购买流程,而无需使用 Play 结算服务实验室。请按照以下步骤进行测试:
- 创建一个新的 Gmail 账号。您可以在任何国家/地区创建账号。
- (可选)您可以将用户设置为许可测试人员。
- 通过 VPN 进入所需的测试国家/地区。
- 启动购买流程。
您可以清除 Play 商店数据和缓存,然后针对您要测试的任何国家/地区重复第 3 步和第 4 步。切换到新的国家/地区后,您需要清除 Google Play 商店的数据,以移除与之前的国家/地区相关的数据。
无论您实际从哪里进行测试,这两种测试购买的方法都可以让您测试任何地区的优惠地区资格条件和用户体验。