如何从Google Play Billing 5查询不同类型的多个产品



我升级到Google Play Billing 5,希望可以使用新的queryProductDetailsAsync方法查询具有不同BillingClient.ProductType类型的产品列表。我在文档中没有看到任何反对这样做的内容。

然而,当我尝试使用多种产品类型时,我收到了来自com.android.billingclient.api.QueryProductDetailsParams$Builder.setProductList的错误消息java.lang.IllegalArgumentException: All products should be of the same product type.

有什么方法可以实现这一点吗?或者我必须进行两个单独的调用,一个用于subs类型,另一个用于inapp类型?其他人是如何在一个页面上显示多种产品类型的

样本代码:

我试着一次查询两种产品,

val productList = mutableListOf(
QueryProductDetailsParams.Product.newBuilder()
.setProductId(sku1)
.setProductType(BillingClient.ProductType.SUBS)
.build(),
QueryProductDetailsParams.Product.newBuilder()
.setProductId(sku2)
.setProductType(BillingClient.ProductType.INAPP)
.build()
)
QueryProductDetailsParams.newBuilder().setProductList(productList).build()

这样可以:java.lang.IllegalArgumentException: All products should be of the same product type.

您已经猜对了,您必须进行多次调用才能获得Subs和InApp的详细信息。不能将两者合并为一个请求。

问题-其他人是如何在一个页面上显示多种产品类型的Ans-例如,查询InApp&并行调用Subs-Detail,然后组合两者的结果并在UI中显示。

最新更新