无法使用 Google Billing Library 6 访问 queryProductDetailsAsync 中的 sku

问题描述 投票:0回答:1

我正在努力将我的项目从 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
                }
            }
        }


    }

}
kotlin android-billing play-billing-library
1个回答
0
投票

您可以将

skuDetails.sku
替换为
skuDetails.productId

至于

skuDetails.price
,现在取决于产品类型。既然您已经请求了
INAPP
,您可以在
skuDetails.oneTimePurchaseOfferDetails
内找到价格详情。相应的属性称为
formattedPrice

© www.soinside.com 2019 - 2024. All rights reserved.