我升级到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中显示。