如何正确访问并使用RevenueCat的PurchaseParams.Builder?
解决RevenueCat SDK 8.17.0中PurchaseParams.Builder私有无法访问的问题
在SDK 8.x版本中,PurchaseParams.Builder的构造函数被设为私有,不能直接通过new PurchaseParams.Builder(...)的方式创建实例,需要使用SDK提供的静态工厂方法来构建PurchaseParams对象。
修正后的代码
将原来直接调用构造函数的写法,替换为PurchaseParams.Builder.with()静态方法:
Purchases.sharedInstance.purchaseWith( PurchaseParams.Builder.with(this, aPackage).build(), onError = { error, userCancelled -> /* 处理购买失败逻辑 */ }, onSuccess = { storeTransaction, customerInfo -> if (customerInfo.entitlements["my_entitlement_identifier"]?.isActive == true) { // 解锁付费内容 } } )
其他场景的用法
如果需要基于StoreProduct创建PurchaseParams,同样使用with方法:
PurchaseParams.Builder.with(this, storeProduct).build()
补充说明
这种设计是RevenueCat在SDK 8.x版本中对API的调整,目的是统一参数构造的入口,避免直接暴露构造函数带来的兼容性问题。如果官方文档示例和当前SDK版本不匹配,建议参考对应版本的SDK源码或官方版本变更日志。
内容的提问来源于stack exchange,提问作者buleva
相关产品推荐
相关产品推荐

