您可以更改订阅基础方案和优惠的价格。例如,您可能有需要调整价格的数字产品,或者您可能会更改产品的某组福利并希望在价格中反映这些变化。
如需了解如何使用 Play 管理中心更改订阅价格,请参阅 Play 管理中心帮助中心内的相关文档。
如需程序化地更改订阅基础方案价格,请使用 monetization.subscriptions.patch
方法。此方法会收到包含要更改的订阅产品配置的 Subscription
对象。在订阅的 basePlans
集合内相应基础方案下的 RegionalBasePlanConfig
对象中设置新价格。如果您的产品清单规模庞大,并且您需要在短时间内更新所有产品,或者有产品清单管理系统在发生更改时自动更改您的 Google Play 订阅产品,那么这么设置很有用。
建议您访问 Play 管理中心的更新日志,查找过往的价格变动相关信息。您可以在其中找到的信息包括价格更新时间、发起变更的用户、更新的地区等。当您需要查看过去的价格变动或意外的价格变动,以评估后续步骤时,这样做可能会很有帮助。
新订阅购买交易的价格变动
当您更改基础方案或优惠的价格后,新价格将在几个小时内对所有新购买交易生效,而无需您执行任何其他操作。
现有订阅者的价格变动
默认情况下,当您更改订阅价格时,现有订阅者不会受到影响;这些订阅者会被置于旧价格同类群组中,他们将在续订时继续按原始基础方案价格付费。
您可以根据需要,将现有订阅者调到当前的基础方案价格。此操作称为停用旧价格同类群组。对优惠定价阶段的更改不适用于现有订阅者。对于分期付款订阅,旧同类群组的价格将在有效承诺期结束时发生。您无法为正在支付分期付款的用户更改当前支付的价格。
停用旧价格同类群组
您可以随时停用旧价格同类群组。您还可以针对每个区域单独执行此操作。如需通过 Play 管理中心停用旧价格,请参阅 Play 管理中心帮助中心。
使用 Google Play Developer API 停用旧价格同类群组
如需程序化地停用旧价格同类群组,请使用 monetization.subscriptions.basePlans.migratePrices
方法。此方法会将接收历史订阅价格的订阅者迁移到指定地区的当前基础方案价格。该方法还将触发价格变更通知,并发送给当前接收早于所提供时间戳的历史价格的用户。发送此请求时,请在请求正文中添加 RegionalPriceMigrationConfig
对象列表,以配置价格同类群组迁移。
如需详细了解如何使用旧价格同类群组,请参阅 Play 管理中心帮助中心。
价格下调
当您停用旧价格同类群组,且新价格低于同类群组中用户支付的价格时,Google Play 会通过电子邮件通知用户,同时这些订阅者会在下次支付基础方案的费用时,开始享受更低的价格。
许可测试人员也会收到价格下调的电子邮件通知。
价格上调
当您停用旧价格同类群组,且新价格高于同类群组中用户支付的价格时,即表示价格上调。尽管价格下调,对于现有订阅者,会在下次支付基础方案费用时应用这一价格变动,但价格上调时,用户不一定要采取行动。
默认情况下,现有订阅者需“选择接受”价格上调。在首次收费之前,用户必须明确接受较高的价格,否则 Google Play 会自动取消其订阅。在 37 天的提前通知期结束后,用户在下次为基础方案付费时,必须按更高的价格付费。从扣款前的 30 天开始,Play 会通过电子邮件和推送通知告知现有订阅者。
在触发同类群组迁移的前七天内,Google Play 不会向用户发送通知。这意味着,从您推出“用户选择接受才生效”类型的价格上调起,您将有 7 天时间来通知现有订阅者,之后 Google Play 才会开始直接通知他们。在此期间,您可以再次改回原始价格,有效取消待处理的价格上调。
7 天过后,每位用户均会在首次以新价格续订的前 30 天,收到 Google Play 的自动通知。
在某些情况下,面向现有订阅者上调价格时,您可以选择提前通知用户即将涨价,但无需用户采取任何操作。如果选择此选项,除非用户通过更改订阅方案或取消订阅来选择拒绝,否则在提前通知期结束后,用户下次必须按新价格支付基础方案的费用。此期限因国家/地区而异,可以是 30 天或 60 天。视该期限的时长而定,Play 会从扣款前的 30 天或 60 天开始,通过电子邮件和推送通知告知现有订阅者。
“用户选择拒绝才无效”类型的价格上调仅适用于特定地区,并且对调价幅度和频率设有限制,还需要遵守特定的开发者规定。
如果旧价格同类群组迁移符合这些条件,您可以将其标记为“用户选择拒绝才无效”类型的价格上调,如图 1 所示。
![含“用户选择拒绝才无效”类型的价格上调的 Google Play 管理中心旧价格同类群组迁移](https://developer.android.google.cn/static/images/google/play/billing/opt-out-increase.png?authuser=5&hl=he)
通知用户价格变动
无论何时停用旧价格同类群组,您都应通知现有订阅者。
对于“用户选择拒绝才无效”类型的价格上调,您应该提前通知用户,并向用户显示应用内通知。不同于“用户选择接受才生效”类型的价格上调,Google Play 会直接通知用户,没有七天的等待期。
对于“用户选择接受才生效”类型的价格上调,请提前通知用户,告知他们需要接受价格上调。从您推出“用户选择接受才生效”类型的价格上调起,您将有 7 天时间来通知现有订阅者,之后 Google Play 才会开始直接通知他们。我们建议您在应用中通知受影响的用户,并提供指向 Play 商店订阅界面的深层链接,以便他们轻松查看新价格。当用户在 Play 商店订阅界面上查看“用户选择接受才生效”类型的价格上调时,系统会显示一个类似于图 2 的对话框。
![通知用户订阅价格变动的常规对话框](https://developer.android.google.cn/static/images/google/play/billing/price-change-1.png?authuser=5&hl=he)
处理用户选择接受价格变动的响应
您向现有订阅者通知价格变动并说明它是“用户选择接受才生效”类型的价格上调后,他们可能会在新价格生效之前采取行动,选择是否接受价格上调。如果他们采取行动,系统会向您发送 RTDN 来告知您结果。请参阅购买生命周期指南,了解如何处理这些通知。
如果用户没有采取行动,在“用户选择接受才生效”的价格生效之前,就到了首次续订日期,那么订阅会在续订日期自动取消并到期。
意外发起的选择接受型价格上调
如果您意外推出了“用户选择接受才生效”类型的价格上调,只需将价格调回原价,即可立即撤消更改。只要价格在七天内还原,现有订阅者就不会收到有关意外价格变动的通知。请注意,在此期间进行的所有购买交易都将按意外设定的价格收费。
处理重叠选择接受价格上调
确保一次只进行一次价格变动。不过,如果您在前 7 天内多次推出“用户选择接受才生效”类型的价格上调,受影响的用户只需同意最新的价格变动。例如,如果您已停用包含“用户选择接受才生效”类型的价格上调的旧价格同类群组,接着再次更改价格,然后再次推出“用户选择接受才生效”类型的价格上调,那么受影响的用户无需响应第一次价格变动,因为现在只会应用第二次价格变动。
测试价格变动
请勿出于测试目的而更改有效订阅者所拥有的商品订阅价格。
您可以使用 Play 结算实验室应用和许可测试人员来测试订阅价格变化,而不会影响其他活跃订阅者。
如需详细了解如何测试价格变动,请参阅测试指南。
示例
本部分中的示例演示了如何在不同的价格变动场景中应用最佳实践。
示例 1:按月订阅方案的选择接受型价格上调
在 3 月 3 日,AltoStrat 通过结束旧价格同类群组,上调了付费视频在线播放订阅 AltoStrat Pro 的价格。他们将旧价格同类群组中的 1 美元用户转移到当前的 2 美元基础方案价格。价格变动的生效日期为 4 月 9 日(3 月 3 日之后的 37 天)。
Alice 是现有订阅者,下次续订日期为 3 月 5 日。生效日期之后的第一次续订日期为 5 月 5 日,因此她在 3 月 5 日和 4 月 5 日按旧价格(1 美元)续订。当她在 5 月 5 日再次续订时,则按新价格(2 美元)支付费用。Google Play 将于 4 月 5 日(即采用新价格的首次续订日期前 30 天)开始通知 Alice 价格变动。
Bob 是现有订阅者,下次续订日期为 3 月 29 日。由于价格变动尚未生效,因此他在 3 月 29 日以旧价格(1 美元)续订。当他在 4 月 29 日再次续订时,则按新价格(2 美元)支付费用。他于 3 月 30 日(即采用新价格的首次续订日期前 30 天)开始收到价格变动通知。
示例 2:选择接受 3 个月订阅方案的价格上调
在 3 月 3 日,FindMyLove 结束了旧价格同类群组,将 FindMyLove Premium 的 3 个月费用从 1 美元上调至 2 美元的基础方案价格。价格变动的生效日期为 4 月 9 日(3 月 3 日之后的 37 天)。
Alice 是现有订阅者,下次续订日期为 3 月 5 日。Alice 以旧价格(1 美元)续订,因为价格变动尚未生效。当她在 6 月 5 日再次续订时,则按新价格(2 美元)支付费用。她于 5 月 6 日(即采用新价格的首次续订日期前 30 天)开始收到价格变动通知。
Bob 是现有订阅者,下次续订日期为 4 月 11 日。Bob 会按新价格(2 美元)续订,因为该日期晚于价格变动的生效日期。他于 3 月 12 日(即采用新价格的首次续订日期前 30 天)开始收到价格变动通知。
示例 3:选择接受按周订阅方案的价格上调
在 3 月 3 日,CutePetsNews 结束了旧价格同类群组,将 Weekly Dog Alerts 的每周费用从 1 美元上调至 2 美元。价格变动的生效日期为 4 月 9 日。
Alice 是现有订阅者,下周续订的时间是 3 月 6 日。她于 3 月 6 日、3 月 13 日、3 月 20 日、3 月 27 日和 4 月 3 日以旧价格(1 美元)续订,因为价格变动尚未生效。当她在 4 月 10 日再次续订时,则按新价格(2 美元)支付费用。她于 3 月 11 日(即采用新价格的首次续订日期前 30 天)开始收到价格变动通知。
示例 4:选择接受包含多次价格变动的按月订阅方案的价格变动
此示例展示了如何处理多次价格变动。
在 3 月 3 日,AltoStrat 触发其付费视频订阅 AltoStrat Pro 的价格上调,将价格从每月 1 美元上调至 2 美元。在 3 月 10 日,开发者再次触发了价格变动,将价格上调至每月 3 美元。
首次价格变动的生效日期为 4 月 9 日(3 月 3 日之后的 37 天)。第二次价格变动的生效日期为 4 月 16 日(3 月 10 日之后的 37 天)。
Alice 的下次续订日期是 3 月 5 日。生效日期之后的第一次续订日期为 5 月 5 日,因此她在 3 月 5 日和 4 月 5 日按旧价格(1 美元)续订。当她在 5 月 5 日再次续订时,则按最新价格(3 美元)支付费用。由于价格变动发生在 7 天冻结期内,因此她仅会收到第二次价格变动的通知。她于 4 月 5 日(即采用新价格的首次续订日期前 30 天)开始收到价格变动的通知。
示例 5:选择拒绝按月订阅方案的价格变动
此示例展示了如何处理选择拒绝价格上调的情况。
AltoStrat 需要每年调整价格,以应对编程费用增加。在 1 月 2 日,他们将 AltoStrat Pro(付费视频在线播放订阅)的价格从 1 美元上调至 1.30 美元。此价格上调符合“用户选择拒绝才无效”类型的价格迁移的条件。他们会立即停用旧价格同类群组,并指定“用户选择拒绝才无效”类型的迁移。根据此同类群组中用户所在地区的规定,必须设有至少 30 天的选择停用通知期,因此新价格将于 2 月 1 日生效。
Alice 是现有订阅者,收费日为每个月的 14 号。由于通知期限至少 30 天,因此她会在 1 月 14 日按旧价格(1 美元)支付费用。Google Play 从 1 月 15 日开始通知 Alice,并于 2 月 14 日开始按新价格(1.30 美元)向她收费。
示例 6:12 个月分期付款订阅方案的选择接受型价格上调
此示例展示了如何处理分期付款订阅的价格上调。
在 3 月 3 日,AltoStrat 通过结束旧价格同类群组,上调了付费视频在线播放订阅 AltoStrat Pro 的价格。他们将旧价格同类群组中的 1 美元用户转移到当前的 2 美元基础方案价格。价格变动的生效日期为 4 月 9 日(3 月 3 日之后的 37 天)。
Alice 是现有订阅者,订阅了 12 个月的分期付款方案,然后在上一年的 6 月 10 日按月自动续订。她在本年度的 6 月 10 日进行了首次续订。由于 Alice 正在支付分期付款,因此她在 3 月 10 日、4 月 10 日和 5 月 10 日继续支付 1 美元。她于 6 月 10 日进行了首次续订,此时她按新价格(2 美元)支付费用,并改为每月自动续订。Google Play 将于 5 月 11 日(即采用新价格的首次续订日期前 30 天)开始通知 Alice 价格变动。