我正在努力将我的项目从 Google Billing Library 4 迁移到使用 Google Billing Library 6。在我的
querySkuDetails()
方法中,我无法从 queryProductDetailsAsync
访问 sku(字符串)
这是我的进步。我无法访问
skuDetails.sku
以及 skuDetails.price
private fun querySkuDetails() {
val productList =
listOf(
QueryProductDetailsParams.Product.newBuilder()
.setProductId(PRODUCT_ID)
.setProductType(BillingClient.ProductType.INAPP)
.build()
)
val params = QueryProductDetailsParams.newBuilder().setProductList(productList).build()
billingClient?.queryProductDetailsAsync(params) { billingResult, productDetailsList ->
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
for (skuDetails in productDetailsList) {
val sku = skuDetails.sku
if (PRODUCT_ID == sku) {
val price = skuDetails.price
priceFromBillingManager = price
}
}
}
}
}
您可以将
skuDetails.sku
替换为 skuDetails.productId
至于
skuDetails.price
,现在取决于产品类型。既然您已经请求了INAPP
,您可以在skuDetails.oneTimePurchaseOfferDetails
内找到价格详情。相应的属性称为 formattedPrice
。