SDK支付从版本 1.x.x 迁移到版本 3.x.x
注意
该门户网站正在开发中。文档的完整版本请看这里.
- Kotlin
- Java
在支付版本 3.0.0 中,PaymentResult 中的产品购买结果模型发生了显著变化。
为了快速且无大问题地迁移到 SDK 的新版本,请遵循此迁移指南。
更新依赖项
为了更新依赖项,请在您的 build.gradle 文件的 billingclient 区域中升级 dependencies 的版本:
build.gradle
dependencies {
implementation( "ru.rustore.sdk:billingclient:3.2.0" )
}
更改模型
获取产品列表
获取产品列表的结果模型已发生了变化。现在,getProducts() 方法直接返回产品列表:
调用方法getProducts
val productsUseCase: ProductsUseCase = billingClient.productsproductsUseCase.getProducts(productIds = listOf( \"id1\" , \"id2\" )) \`\`.addOnSuccessListener { products: List\<Product\> -\> \`\`// Process success \`\`} \`\`.addOnFailureListener { throwable: Throwable -\> \`\`// Process error \`\`}
品模型和错误模型保持不变。
获取购买列表
获取购买列表的结果模型发生了变化。现在,getPurchases() 方法会直接 返回购买列表:
调用获取用户购买列表的方法
val purchasesUseCase: PurchasesUseCase = billingClient.purchasespurchasesUseCase.getPurchases() \`\`.addOnSuccessListener { purchases: List\<Purchase\> -\> \`\`// Process success \`\`} \`\`.addOnFailureListener { throwable: Throwable -\> \`\`// Process error \`\`}
买模型和错误模型保持不变。
获取购买信息
获取购买信息的结果模型发生了变化。现在,getPurchaseInfo() 方法会直接返回购买模型:
调用获取用户购买列表的方法
val purchasesUseCase: PurchasesUseCase = billingClient.purchasespurchasesUseCase.getPurchaseInfo( \"purchaseId\" ) \`\`.addOnSuccessListener { purchase: Purchase -\> \`\`// Process success \`\`} \`\`.addOnFailureListener { throwable: Throwable -\> \`\`// Process error \`\`}
误模型保持不变。
购买产品
购买产品的结果模型发生了变化。更新后的模型如下所示:
购买结果的结构体
public sealed interface PaymentResult { \`\`public data class Success( \`\`val orderId: String?, \`\`val purchaseId: String, \`\`val productId: String, \`\`val invoiceId: String, \`\`val subscriptionToken: String? = null , \`\`) : PaymentResult \`\`public data class Cancelled( \`\`val purchaseId: String, \`\`) : PaymentResult \`\`public data class Failure( \`\`val purchaseId: String?, \`\`val invoiceId: String?, \`\`val orderId: String?, \`\`val quantity: Int?, \`\`val productId: String?, \`\`val errorCode: Int?, \`\`) : PaymentResult \`\`public object InvalidPaymentState : PaymentResult()}
中:
Success
- 成功完成数字产品购买的结果。Failure
- 购买数字产品时错误的结果。Cancelled
- 数字产品购买被取消的结果。InvalidPaymentState
- SDK支付错误。可能因deeplink回调不正确而发生。
要特别注意消耗和取消购买的流程!