Я пытаюсь получить список (только один элемент) доступных покупок, используя Android BillingClient 2.1, как описано здесь . Например:
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
}
}
}
}
В консоли игрового магазина я загрузил приложение, подготовил страницу магазина и добавил управляемый продукт под названием "premium_upgrade". Но я еще не опубликовал приложение, так как в нем отсутствует эта важная часть.
По некоторым причинам skuDetailsResult.skuDetailsList
всегда возвращается пустым. В billingResult
нет debugMessage
. Так что я немного застрял. Есть предложения?