mcpField
R
revenuecat-customer-center

revenuecat-customer-center

github.com/revenuecat开发76735 次安装1 天前更新
代码仓库

关于 revenuecat-customer-center

用于在应用中接入由 RevenueCat 控制面板配置的 Customer Center 的技能,涵盖平台识别、实现与验证,适用于多种 SDK。

主要功能

  1. 01识别应用平台
  2. 02指导配置 Customer Center
  3. 03说明用户与购买前提
  4. 04介绍生命周期回调
  5. 05提供集成验证步骤

适用场景

  1. 01在应用设置中添加订阅管理
  2. 02支持恢复、取消或退款流程
  3. 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.md
flutter.md
ios.md
kmp.md
react-native.md

详细介绍

revenuecat-customer-center:添加 RevenueCat Customer Center

当用户希望使用开箱即用的 UI,让客户管理有效订阅、申请退款、取消订阅、恢复购买或联系支持团队,而无需发布自定义 UI 时,请使用此技能。该 UI 在 RevenueCat 控制面板中配置,并由 RevenueCatUI SDK 渲染。

前提条件:已运行 integrate-revenuecat。必须先成功调用 Purchases.configure(…),Customer Center 才能加载客户数据。

1. 检测平台

检查工作目录,并从上到下选择第一个匹配项:

  1. React Native:package.json 中包含 react-native-purchases 条目,或将 react-native 列为依赖项。Customer Center 随 react-native-purchases-ui 一同提供。阅读 platforms/react-native.md。如果 expo 也是依赖项,请注明这是一个 Expo 项目。
  2. Flutter:项目根目录中存在 pubspec.yaml。Customer Center 随 purchases_ui_flutter 一同提供。阅读 platforms/flutter.md。
  3. Kotlin Multiplatform:build.gradle.kts 中包含 kotlin { … } 多平台代码块,或依赖 com.revenuecat.purchases:purchases-kmp*。Customer Center 组合函数位于 purchases-kmp-ui 中。阅读 platforms/kmp.md。
  4. Android(原生):build.gradle(.kts) 应用了 com.android.application(且不是 KMP)。Customer Center 组合函数位于 com.revenuecat.purchases:purchases-ui 中。阅读 platforms/android.md。
  5. 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.md
  • platforms/android.md
  • platforms/kmp.md
  • platforms/flutter.md
  • platforms/react-native.md

每个平台文件均包含安装命令、展示 Customer Center 的准确代码片段,以及回调结构。

4. 验证

在满足以下条件之前,不要声称集成已完成:

  1. 项目能在目标平台上构建。
  2. 使用至少有一项有效沙盒订阅的测试用户登录应用。触发打开 Customer Center 的代码路径。界面应正常加载,且订阅应显示在列表中。
  3. 至少有一项已配置的操作能够端到端运行。最简单的检查方法:点击恢复购买,并确认恢复完成回调已触发,且 customerInfo.entitlements.active 映射不为空。如果控制面板已配置取消 / 退款 / 支持操作,请验证用户点击后会触发相应回调(onManagementOptionSelected、onRefundRequestStarted 等)。
  4. 关闭 Customer Center 时会触发 onDismiss 回调。

如果 Customer Center 已打开但内容为空,说明已登录用户没有购买记录,或控制面板中的 Customer Center 部分尚未配置。请在控制面板中修复,重新加载,然后重试。

评论

支持 Markdown