
RevenueCat purchases-ios:面向 Apple 平台订阅与内购的 Swift SDK
30秒速读:如果你正在给 Apple 平台应用接订阅或一次性内购,却不想自己搭收据验证、订阅状态同步和续订事件通知这一整套后端,RevenueCat purchases-ios 就是为这个场景准备的客户端 SDK。它把 StoreKit 的调用、订阅状态查询和购买事件上报收进一个接入层,剩下的账号体系和权益展示仍由你自己的应用负责。
项目信息
| 项目类型 | 应用内购买与订阅 SDK(客户端) |
| 适用平台 | 多平台(iOS、tvOS、macOS、watchOS、Mac Catalyst、visionOS) |
| 开发语言 | Swift 编写,兼容 Objective-C |
| 集成方式 | CocoaPods、Carthage、Swift Package Manager |
| 配套服务 | RevenueCat 控制台、服务端收据验证、Webhook 事件通知 |
它能替你省掉哪些活
内购最磨人的部分从来不是弹出购买框那一下,而是购买之后的状态管理:用户续订了没有、退款了没有、换设备后权益还在不在、促销订阅怎么发。这些事如果全靠自己写后端接口和定时任务,工作量很容易超过应用本身。据仓库说明,这套 SDK 把下面这些环节收到了客户端一侧:
- 商品查询与发起购买:直接取 App Store 商品信息并完成购买流程。
- 订阅状态查询:随时查当前用户是否持有有效订阅,不必自己维护状态表。
- 购买恢复:换设备或重装后恢复已有购买,减少客服工单。
- 收据验证:服务端收据验证由配套服务处理,客户端不再硬扛防伪逻辑。
- 事件通知:购买、续订、取消等事件通过 Webhook 实时推给你的服务端。
- 订阅分析与交易历史:在控制台查看订阅指标和客户交易记录。
技术构成:SDK、服务端与控制台如何分工
理解这套工具的关键是分清三层:SDK 只负责客户端的购买调用和状态查询;收据验证、订阅跟踪和事件分发由服务端完成;商品与权益的配置放在控制台里改,不用每次改配置就发版。三层各司其职,也意味着它不是一个“装上就能跑”的单体库,控制台和服务端的配置必须同步维护。
| 一层 | 负责什么 | 你需要做什么 |
|---|---|---|
| 客户端 SDK | 商品查询、购买、订阅状态、恢复购买 | 按项目依赖管理方式集成 |
| 服务端 | 收据验证、订阅状态跟踪、事件处理 | 接入 Webhook,处理购买与续订事件 |
| 控制台 | 远程配置商品与权益、查看订阅指标 | 配置商品、权益与促销订阅规则 |
上手步骤
- 先在 RevenueCat 侧建好项目,把 App Store 的商品与权益关系配置清楚,再动客户端代码。
- 按项目现有的依赖管理方式集成:已有 CocoaPods 或 Carthage 的项目沿用原方式,新项目优先用 Swift Package Manager。
- 在应用启动时完成 SDK 初始化,并把商品查询、购买入口和订阅状态展示接到已有页面上。
- 把购买恢复入口放在用户找得到的位置,这是订阅类应用最容易被忽略、也最容易产生差评的环节。
- 服务端接好 Webhook,先用沙盒购买把购买、续订、取消三条事件链路各跑一遍,再上线。
选型对照:用它还是直接写 StoreKit
| 场景 | 推荐做法 | 理由 |
|---|---|---|
| 多 Apple 平台都要上订阅 | 优先评估本 SDK | 一套接入层覆盖六个平台,状态逻辑不用各写一遍 |
| 需要远程改商品与权益配置 | 优先评估本 SDK | 控制台改配置,不依赖发版节奏 |
| 只需要一次购买、无订阅 | 可直接用 StoreKit | 为简单需求引入整套服务体系不划算 |
| 要求购买后端完全自有 | 直接用 StoreKit 自建 | 本方案的验证与事件环节依赖外部服务 |
上手前确认事项
- 最低系统版本:仓库摘要没有完整列出各平台的最低版本矩阵,接入前务必到文档或源码里核对目标平台的版本要求,别等提审才发现。
- 依赖管理方式:三种集成方式先按项目现状选定,混用两种包管理工具最容易在升级时出问题。
- 账号与权益模型:SDK 不替代你自己的账号体系,购买状态与应用内权益的对应关系要先在设计文档里定下来。
- 服务端协作:Webhook 与远程配置属于服务端工作,客户端上线前要确认服务端已同步上线,别只测客户端。
- 升级路径:仓库提供从 v3 到 v4、v4 到 v5 的迁移指南,大版本升级前先读迁移文档,再验证购买、恢复与权益授予流程。
- 跨平台边界:如需覆盖 Google Play 一侧,跨平台订阅状态的细节要结合两边文档确认,不能只看本仓库的摘要。
适合谁,不适合谁
适合的团队是:用 Swift 或 Objective-C 开发 Apple 平台应用,订阅是核心收入方式,希望把收据验证、状态同步和事件通知交给一套现成体系,而不是自己从零搭购买后端。尤其当应用要同时覆盖 iPhone、Mac、Apple TV 等多个平台时,统一接入层的收益最明显。
不适合的情况也很明确:只需要直接调用 StoreKit、拒绝引入外部购买服务,或者团队要求购买链路的每一环都掌握在自己服务器上。这时直接写 StoreKit 反而更轻、更可控,不必为用不上的控制台与分析能力付出集成成本。
GitHub 国内访问较慢,如打不开可多刷新几次

关注「软件教程管家」
回复软件名即取即下:网盘下载链接 + 提取码,一步直达,不用再跳转。
本站资源仅供个人学习交流,请勿用于商业用途。软件与资料版权归原作者所有;如有侵权,请通过公众号「软件教程管家」联系我们,我们将在 24 小时内下架处理。查看免责声明 ›







