用途:这是编写 RevenueCat 代码前的入门导览,用于建立术语与心智模型,使后续设置、配置、购买流程、权益等技能更易理解。适合初次接触 RevenueCat 或从原生 Play Billing 迁移者、不清楚概念与后台对象对应关系者,以及需要据用户目标选择下游技能者;若已能区分 Offering、Package、Product、Entitlement,并知道 Purchases.sharedInstance 是唯一入口,可跳过。
主要能力:说明原始 Android 内购的三个系统(客户端 BillingClient、服务端 Google Play Developer API、Cloud Pub/Sub 实时开发者通知)被 RevenueCat 折叠为 SDK 加仪表盘。调用路径为 App → Purchases SDK → RevenueCat 后端 → Google Play Developer API → Google Play;应用与 SDK 通信,SDK 与 Google Play 交互购买界面并与 RevenueCat 后端做验证与权益存储,服务端代码只对接 RevenueCat 后端。购买完成后 SDK 先把令牌发给 RevenueCat 再返回确认。
四个核心概念:Product 在产品控制台定义(订阅、基础计划或一次性购买);Package 是带类型标签的产品包装(月度、年度、终身、自定义),是付费墙展示单元,在 RevenueCat 仪表盘定义;Offering 是一组 Package,其中一个为默认,由 offerings.current 返回;Entitlement 是应用检查的逻辑访问级别,如 pro_access,产品附着到权益。CustomerInfo 是用户购买历史与有效权益的运行时快照,由 RevenueCat 计算并缓存。
常用读取:awaitOfferings() 与 offerings.current?.monthly;awaitCustomerInfo() 与 customerInfo.entitlements["pro_access"]?.isActive == true。isActive 已在服务端解析 Play 的八种订阅状态(ACTIVE、IN_GRACE_PERIOD、ON_HOLD、PAUSED、CANCELED、EXPIRED、PENDING、PENDING_PURCHASE_CANCELED),客户端无需重实现。Purchases.sharedInstance 是唯一入口,在启动时用 Purchases.configure 配置一次,无需像 BillingClient 管理连接状态,会自动重连并排队调用。
不替代的部分:Google Play Console(仍在其中创建产品、基础计划与优惠)、应用 UI(付费墙与价格展示仍由应用构建,RevenueCat 提供数据)、认证系统(自带用户 ID 并传给 SDK)。权衡:卸载验证复杂度但引入依赖,后端故障会影响购买验证。缓解措施包括 CustomerInfo 磁盘缓存(始终自动开启)与离线权益(仅在 RevenueCat 服务器返回错误时自动启用,不适用于一次性购买,且应用自行完成购买时关闭),二者都不能完全替代可达后端。
路由:创建仪表盘项目、连接 Play 凭证、创建权益与 Offering、获取 API 密钥用 revenuecat/setup;添加 Gradle 依赖、调用 Purchases.configure、传 appUserID、设置日志级别用 revenuecat/configuring-the-sdk;获取 Offering、展示付费墙、调用 purchase 并处理结果用 revenuecat/purchase-flow;检查权益 isActive、门控功能、监听更新用 revenuecat/subscription-states;用户识别、别名或登出用 configuring-the-sdk(用户 ID 策略)与 subscription-states(logIn/logOut);恢复购买、跨设备、促销码见 purchase-flow(第 5 阶段);接收服务端事件用 revenuecat/webhooks;生产环境调试具体购买、收据或权益用 error-handling 或 testing。路由前自检:能指出问题涉及三大支柱中的哪一个、能说明问的是 Product、Package、Offering 还是 Entitlement、能区分用户需要 Offerings(卖什么)还是 CustomerInfo(已拥有什么)、确定下一个下游技能或提出明确澄清问题。原文未提供更多参考资料内容。