mcpField
R
rc-alternative-billing

rc-alternative-billing

github.com/revenuecat开发76620 次安装今天更新
代码仓库

关于 rc-alternative-billing

面向 Android 开发的技能,说明 RevenueCat SDK 对 Google Play 替代计费计划的覆盖范围,以及开发者需自行实现的部分。它区分 Google 计划与 RevenueCat Web Billing,并介绍混合集成的规划方式。

主要功能

  1. 01查看各计费计划的 SDK 支持情况
  2. 02确认地区资格要求
  3. 03区分 Web Billing 与 Play 计划
  4. 04规划直接集成 Play Billing
  5. 05设置购买完成处理方

适用场景

  1. 01选择计费计划前评估支持情况
  2. 02规划未支持 Play 计费流程的实现
  3. 03将 RevenueCat 与直接 Play Billing API 结合
  4. 04核对购买确认由哪一方处理

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/revenuecat/ai-toolkit --skill rc-alternative-billing

安装后在 Claude Code 中输入/rc-alternative-billing确认已加载。

详细介绍

替代结算计划

Google 提供了多个计划,让你可以在标准 Play Store 结算流程之外收款。本指南介绍了 RevenueCat Android SDK 目前支持哪些部分,以及哪些部分需要你自行通过 Play Billing Library 实现。

根据手册章节,截至 SDK 9.x,RevenueCat 对这些计划的支持有限。请以此为准;开始开发前,请查看 RevenueCat 更新日志,确认是否有更新的 SDK 版本。

第 1 阶段:调研

编写任何代码前,请先回答以下问题。

问题重要性
你要采用哪个计划?User Choice Billing、Alternative Billing Only、External Offers 和 External Payment Links 的 Play 要求各不相同。
你的应用在目标地区是否符合资格?Google 会根据国家/地区和应用类别限制这些计划。你需要通过 Play Console 注册,而不是通过 RevenueCat。
你是否要改用 RevenueCat Web Billing?RevenueCat 的网页结账是独立于 Google 替代结算计划的产品。请勿将两者混为一谈。
你使用的是哪个版本的 RevenueCat SDK?支持情况会随版本更新。SDK 9.x 中不支持的功能,之后可能会加入。

如果你实际上想通过 RevenueCat 托管的网页结账销售订阅,这不属于 Google 的替代结算计划。请使用 Offering.webCheckoutURL 或 Package.webCheckoutURL:

val pkg = offerings.current?.monthly
pkg?.webCheckoutURL?.let { url ->
    startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url.toString())))
}

用户在网页上完成购买后,可通过深层链接处理在应用内兑换。

第 2 阶段:规划

决定以下两种路径中哪一种适合你。

路径 A:等待 SDK 支持。 如果你的发布计划较灵活,请关注 RevenueCat 更新日志和文档,了解所需计划何时获得一流支持。这样可以避免在 RevenueCat 之外同时运行原生 Play Billing Library 代码。

路径 B:自行实现集成。 如果必须立即发布,请直接通过 Play Billing Library API 实现目标计划。RevenueCat SDK 拥有 BillingClient 实例,因此与其并行运行原生 BillingClient 调用时需要谨慎处理。

对于路径 B,请设置完成操作的所有权,避免 RevenueCat 干扰你所管理购买的确认:

Purchases.configure(
    PurchasesConfiguration.Builder(context, apiKey)
        .purchasesAreCompletedBy(PurchasesAreCompletedBy.MY_APP)
        .build()
)

规划清单:

  • 已在 Play Console 中确认 Play 计划及目标地区的资格。
  • 已阅读当前 RevenueCat 文档和更新日志,了解所发布 SDK 版本的情况。
  • 已明确选择路径 A 或路径 B,并说明原因。
  • 如果选择路径 B,已确定哪些流程仍由 RevenueCat 驱动,哪些由你驱动。

第 3 阶段:执行

根据该章节,RevenueCat SDK 目前对这类流程的支持情况如下:

流程SDK 支持情况
通过 Offering.webCheckoutURL / Package.webCheckoutURL 使用 RevenueCat Web Billing支持。这不属于 Google 的替代结算计划。
User Choice Billing没有专用 SDK API。请在 RevenueCat 之外通过 Play Billing Library 实现。
Alternative Billing Only没有专用 SDK API。请在 RevenueCat 之外通过 Play Billing Library 实现。
External Offers没有专用 SDK API。请在 RevenueCat 之外通过 Play Billing Library 实现。
External Payment Links没有专用 SDK API。请在 RevenueCat 之外通过 Play Billing Library 实现。

发布路径 B 时,请使用 PurchasesAreCompletedBy.MY_APP,以便你掌控所管理购买的确认;标准 Play Store 购买则继续交由 RevenueCat SDK 处理。

验证步骤:

  • 标准 Play Store 购买仍通过 RevenueCat 处理,并显示在控制面板中。
  • 通过替代结算路径完成的购买已到达你的后端,并与 RevenueCat 订阅者状态同步。
  • 每笔购买恰好确认一次,你的代码与 SDK 不会重复处理。

参考资料

评论

支持 Markdown