QuerPurchasasasAsync returns отмененные и истекшие тестовые подписки ⇐ Android
-
Anonymous
QuerPurchasasasAsync returns отмененные и истекшие тестовые подписки
fun checkPremiumStatus() {
billingClient.queryPurchasesAsync(
QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build()
) { billingResult, purchasesList ->
val hasActiveSub =
purchasesList.any { it.isAcknowledged && it.purchaseState == Purchase.PurchaseState.PURCHASED }
billingClient.queryPurchasesAsync(
QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP)
.build()
) { _, inAppList ->
val hasLifetime =
inAppList.any { it.products.contains("product_id") && it.purchaseState == Purchase.PurchaseState.PURCHASED }
if (SecureBooleanManager(applicationContext).getPremiumStatus() && !hasLifetime && !hasActiveSub) {
deActivate()
}
if (SecureBooleanManager(applicationContext).getPremiumStatus().not() && (hasLifetime || hasActiveSub)) {
activate()
}
}
}
}
< /code>
Проблема заключается в том, что, несмотря на то, что я отменил подписку через игру Google, и 5 -минутное время теста истек, QuerPurchasasasAsync по -прежнему возвращает подписку с приобретенным состоянием. Обработка тестовых продуктов?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... scriptions
fun checkPremiumStatus() {
billingClient.queryPurchasesAsync(
QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build()
) { billingResult, purchasesList ->
val hasActiveSub =
purchasesList.any { it.isAcknowledged && it.purchaseState == Purchase.PurchaseState.PURCHASED }
billingClient.queryPurchasesAsync(
QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.INAPP)
.build()
) { _, inAppList ->
val hasLifetime =
inAppList.any { it.products.contains("product_id") && it.purchaseState == Purchase.PurchaseState.PURCHASED }
if (SecureBooleanManager(applicationContext).getPremiumStatus() && !hasLifetime && !hasActiveSub) {
deActivate()
}
if (SecureBooleanManager(applicationContext).getPremiumStatus().not() && (hasLifetime || hasActiveSub)) {
activate()
}
}
}
}
< /code>
Проблема заключается в том, что, несмотря на то, что я отменил подписку через игру Google, и 5 -минутное время теста истек, QuerPurchasasasAsync по -прежнему возвращает подписку с приобретенным состоянием. Обработка тестовых продуктов?>
Подробнее здесь: https://stackoverflow.com/questions/796 ... scriptions
Мобильная версия