关于 revenuecat-customer-center
用于在应用中接入由 RevenueCat 控制面板配置的 Customer Center 的技能,涵盖平台识别、实现与验证,适用于多种 SDK。
主要功能
- 01识别应用平台
- 02指导配置 Customer Center
- 03说明用户与购买前提
- 04介绍生命周期回调
- 05提供集成验证步骤
适用场景
- 01在应用设置中添加订阅管理
- 02支持恢复、取消或退款流程
- 03检查 Customer Center 集成
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ revenuecat/ ai-toolkit --skill revenuecat-customer-center安装后在 Claude Code 中输入/revenuecat-customer-center确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
platforms/android.mdflutter.mdios.mdkmp.mdreact-native.md详细介绍
revenuecat-customer-center:添加 RevenueCat Customer Center
当用户希望使用开箱即用的 UI,让客户管理有效订阅、申请退款、取消订阅、恢复购买或联系支持团队,而无需发布自定义 UI 时,请使用此技能。该 UI 在 RevenueCat 控制面板中配置,并由 RevenueCatUI SDK 渲染。
前提条件:已运行 integrate-revenuecat。必须先成功调用 Purchases.configure(…),Customer Center 才能加载客户数据。
1. 检测平台
检查工作目录,并从上到下选择第一个匹配项:
- React Native:
package.json中包含react-native-purchases条目,或将react-native列为依赖项。Customer Center 随react-native-purchases-ui一同提供。阅读platforms/react-native.md。如果expo也是依赖项,请注明这是一个 Expo 项目。 - Flutter:项目根目录中存在
pubspec.yaml。Customer Center 随purchases_ui_flutter一同提供。阅读platforms/flutter.md。 - Kotlin Multiplatform:
build.gradle.kts中包含kotlin { … }多平台代码块,或依赖com.revenuecat.purchases:purchases-kmp*。Customer Center 组合函数位于purchases-kmp-ui中。阅读platforms/kmp.md。 - Android(原生):
build.gradle(.kts)应用了com.android.application(且不是 KMP)。Customer Center 组合函数位于com.revenuecat.purchases:purchases-ui中。阅读platforms/android.md。 - iOS(原生):项目根目录中存在
Package.swift、*.xcodeproj、*.xcworkspace或Podfile。CustomerCenterView位于RevenueCatUI中。阅读platforms/ios.md。
如果有多个匹配项(例如 Flutter 项目中包含 ios/ 文件夹),请选择最外层的项目,也就是拥有构建配置的项目。如果仍无法确定,请询问用户要配置哪个平台。
2. 通用概念(所有平台)
- Customer Center 是通过控制面板配置的 UI。 操作、文案、促销优惠、退款流程、取消订阅调查选项和支持联系信息均在 RevenueCat 控制面板的 Customer Center 下定义。若未进行配置,视图会渲染一个精简的默认布局;用户几乎看不到任何有用内容。
- 要显示有意义的内容,需要已识别且有购买记录的用户。 如果用户处于匿名状态且从未购买过任何内容,Customer Center 会显示空状态或仅提供恢复购买的状态。如果应用支持登录,请在打开 Customer Center 前调用
Purchases.logIn(userId)。 - Customer Center 与付费墙相互独立。 常见做法是在设置页面中提供一个“管理订阅”行,用于打开 Customer Center。付费墙用于新购买;Customer Center 面向现有订阅者。
- 流程由 UI 控制。 恢复购买、取消订阅、退款和促销优惠流程都在组件内运行。监听生命周期回调(
onRestoreCompleted、onRefundRequestStarted、onManagementOptionSelected、onPromotionalOfferSucceeded等),以便在应用代码中响应,而不是驱动流程。 - 不同平台的可用性各不相同。 iOS 最早支持 Customer Center;Android、KMP、Flutter 和 React Native 随后陆续支持。平台文件会标明任何差异。退款申请仅支持 iOS,因为只有 Apple 提供应用内退款申请;在 Android 上,“管理订阅”选项会跳转至 Google Play 订阅页面。
- 如果已安装的 SDK 版本早于 Customer Center 的支持版本,可使用手动订阅管理页面作为备用方案:通过
Purchases.customerInfo()显示用户的有效权益,提供Purchases.restorePurchases()按钮,并链接到应用商店的订阅管理 URL。如果用户需要完整的 Customer Center,请建议其升级 SDK。
3. 实现
阅读与检测结果相符的平台文件:
platforms/ios.mdplatforms/android.mdplatforms/kmp.mdplatforms/flutter.mdplatforms/react-native.md
每个平台文件均包含安装命令、展示 Customer Center 的准确代码片段,以及回调结构。
4. 验证
在满足以下条件之前,不要声称集成已完成:
- 项目能在目标平台上构建。
- 使用至少有一项有效沙盒订阅的测试用户登录应用。触发打开 Customer Center 的代码路径。界面应正常加载,且订阅应显示在列表中。
- 至少有一项已配置的操作能够端到端运行。最简单的检查方法:点击恢复购买,并确认恢复完成回调已触发,且
customerInfo.entitlements.active映射不为空。如果控制面板已配置取消 / 退款 / 支持操作,请验证用户点击后会触发相应回调(onManagementOptionSelected、onRefundRequestStarted等)。 - 关闭 Customer Center 时会触发
onDismiss回调。
如果 Customer Center 已打开但内容为空,说明已登录用户没有购买记录,或控制面板中的 Customer Center 部分尚未配置。请在控制面板中修复,重新加载,然后重试。
评论
支持 Markdown