测试您的 Google Play Billing Library 集成

您应在整个开发过程中测试您的集成。为了在开发阶段进行测试,我们建议利用 许可测试员Play Billing Lab 来运行本部分所述的场景。

许可测试员

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

使用许可测试员具有以下好处

  • 通常,Google Play Billing Library 会阻止未签名和上传到 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 Billing Library 集成,请执行以下操作

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

您可以在运行 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 Dashboard
图 2. Play Billing Lab 信息中心。

测试一次性商品

测试消耗型商品

测试消耗型商品时,请测试各种情况,包括以下内容

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

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

测试非消耗型商品

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

测试待处理购买

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

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

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

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

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

您可以在处理待处理事务中找到更多信息。

测试订阅专属功能

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

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

续订期

测试订阅的续订速度比实际订阅快,并且测试订阅最多可以续订六次,不计算免费试用期和入门期。

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

正式版订阅期 测试订阅续订
1 周 5 分钟
1 个月 5 分钟
3 个月 10 分钟
6 个月 15 分钟
1 年 30 分钟

基于时间的订阅功能(例如免费试用)在测试时也会缩短。下表列出了与基于时间的订阅功能相关的测试时间段

功能 测试期
购买确认 5 分钟
免费试用 3 分钟
入门价格期 与订阅测试期相同
宽限期 5 分钟
帐号冻结 10 分钟
暂停(1 个月) 5 分钟
暂停(2 个月) 10 分钟
暂停(3 个月) 15 分钟

续订加速

您还可以使用 Play Billing Lab 和许可测试员通过以下步骤加快测试订阅续订期

  1. 点击信息中心订阅设置卡片上的管理
  2. 选择您要测试的活跃订阅。
  3. 点击立即续订
test subscription renew now
图 5. 测试订阅续订期加速。

点击立即续订按钮后,测试订阅很快就会续订。

请注意

  • 使用加速续订功能之前必须确认测试订阅,否则订阅将被取消。
  • 续订过程可能需要几秒钟才能完成。
  • 价格变更生效时,立即续订按钮不可用。
  • 订阅续订期间,订阅价格变更功能不可用。

试用优惠

借助 Play Billing Lab 试用优惠测试功能,许可测试员可以通过勾选测试免费试用或入门优惠复选框并应用更改来无限次地测试和使用免费试用或入门优惠。这消除了为测试仅对新订阅者可用的试用优惠而创建多个帐号的需求。

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

价格变更

您还可以使用 Play Billing Lab 和许可测试员通过以下步骤测试订阅价格变更,而不会影响其他活跃订阅者

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

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

规划测试期时请注意以下事项

  • 由于许可测试员的续订时长较短,从管理中心进行的价格迁移可能无法在许可测试员中注册。为了确保能够测试价格变更通知和电子邮件,开发者在触发价格变更后应至少延迟一小时再进行结算。
  • 降价没有通知期。用户在队列迁移后不久就会收到降价通知。这在测试时保持不变。
  • 对于涨价,测试通知时间的计算方式与实际涨价相同
    • 用户将在强制通知期后的第一个结算周年时首次被扣款。
    • 通知时间从首次扣款日期向前推算。
    • 无论结算周期如何,最终通知始终在扣款前 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. 使用延迟付款方式慢速测试卡,几分钟后拒绝进行购买,如图 8 所示。重启应用,验证购买是否尚未授予。

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

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

    test a purchase with an approved slow test card
    图 9. 使用获批的慢速测试卡进行购买测试。

测试促销代码

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

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

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

在这些场景中,您应尽可能通过多种方式测试代码兑换。至少执行以下测试

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

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

在不同地区测试购买体验

您可以在使用或不使用 Play Billing Lab 的情况下测试购买体验

使用 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
图 10. 在不同地区测试购买体验。

不使用 Play Billing Lab 测试

您也可以在不使用 Play Billing Lab 的情况下在任何地区测试购买流程。请使用以下步骤进行测试

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

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

这两种测试购买的方法都允许您在任何地区测试优惠的地区资格和用户体验,无论您的实际测试地点在哪里。

使用真实付款方式测试购买体验

您可以使用 Play Billing Lab Android 应用使用真实付款方式测试购买体验。

使用以下步骤测试真实付款方式

  1. 将 Google 帐号用户注册为许可测试员。
  2. 使用同一用户登录 Play Billing Lab 应用。
  3. 在 Play Billing Lab 应用中启用真实付款方式。
  4. 重启并在正在测试的应用中启动购买流程。