用途:在 Android 上通过 RevenueCat 销售一次性产品,无需自行编写 BillingClient 胶水代码。SDK 负责获取商品、发起购买、验证收据,并自动确认或消耗 token。
主要能力:获取 offerings 并选择 package;用 awaitPurchase 发起非订阅购买,挂起直到后端验证 token;通过 entitlements 或 nonSubscriptionTransactions 读取访问权限;SDK 自动对非消耗型调用 acknowledge、对消耗型调用 consumeAsync;支持 webhook 的 INITIAL_PURCHASE 事件用于服务端发放。
使用方式:先在 Google Play Console 配置一次性产品,在 RevenueCat 后台将其挂到 offering 和 package,并按需标记为消耗型;确认 Purchases.configure 在应用启动时用 Android API key 和当前 App User ID 执行一次。然后获取 offerings,调用 awaitPurchase,从返回的 CustomerInfo 读取权限。示例:val offerings = Purchases.sharedInstance.awaitOfferings();val result = Purchases.sharedInstance.awaitPurchase(PurchaseParams.Builder(activity, pkg).build())。
边界处理:用 try/catch 捕获 PurchasesTransactionException,区分 PaymentPendingError(显示待付款提示)、userCancelled(静默忽略)和其他错误(展示 e.error.message)。待付款不会立即授予权限,需注册 UpdatedCustomerInfoListener 在付款完成后响应。
限制:集成 RevenueCat 后不要再自行调用 BillingClient.queryProductDetailsAsync、acknowledgePurchase 或 consumeAsync,SDK 独占 BillingClient 实例;不要基于乐观的本地状态授予访问权限,应信任 awaitPurchase 返回的 customerInfo;服务端发放应订阅 RevenueCat webhook,不要重新实现 Google Play Developer API 验证。具体价格、收费与平台支持范围资料未提供。