gpt4 book ai didi

android - 使用 Android BillingClient 2.1 检索应用内购买,返回空列表

转载 作者:行者123 更新时间:2023-12-04 10:14:15 33 4
gpt4 key购买 nike

我正尝试使用 Android BillingClient 2.1 检索可用购买的列表(仅一项),如所述 here .像这样:

private suspend fun querySkuDetails() {
val skuList = ArrayList<String>()
skuList.add("premium_upgrade")
val params = SkuDetailsParams.newBuilder()
params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP)
val skuDetailsResult = withContext(Dispatchers.IO) {
billingClient.querySkuDetails(params.build())
}
if (skuDetailsResult.billingResult.responseCode == BillingClient.BillingResponseCode.OK && skuDetailsResult.skuDetailsList != null) {
for (skuDetails in skuDetailsResult.skuDetailsList as List<SkuDetails>) {
val sku = skuDetails.sku
val price = skuDetails.price
if ("premium_upgrade" == sku) {
premiumUpgradePrice = price
}
}
}
}

在 Play 商店控制台中,我已经上传了准备商店页面的应用程序并添加了一个名为“premium_upgrade”的托管产品。但我还没有发布这个应用程序,因为它缺少这个重要的部分。

由于某些原因 skuDetailsResult.skuDetailsList 总是返回空的。 billingResult 中没有debugMessage。所以我有点卡住了。有什么建议吗?

最佳答案

经过一些搜索,我在左侧菜单的下方找到了测试部分。 https://developer.android.com/google/play/billing/billing_testing

在本地测试时,我不得不将 sku 产品 ID 更改为保留的谷歌 ID 之一。因此,为了进行测试,我必须将 premium_upgrade 更改为 android.test.purchased 然后您可以尝试整个流程。

一旦您对管理产品进行了测试购买,它会说您已经拥有该产品并且您会在那里被阻止。如果您需要重新测试购买,您可以使用此 adb 命令清除购买历史并再次运行。

adb shell pm clear com.android.vending

关于android - 使用 Android BillingClient 2.1 检索应用内购买,返回空列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61154786/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com