Я следую официальной документации по выставлению счетов в Google Play.
Я создал подписки в Play Console и добавил соответствующие функции в свое приложение. p>
Проблема в том, что никакие подписки не поступают в приложение из консоли Play, всегда метод billingClient!!.queryProductDetailsAsync возвращает пустой список ProductDetailsList.
Может ли кто-нибудь помочь мне определить проблему?
вот моя реализация,
В моем файле Gradle на уровне приложения
Код: Выделить всё
implementation "com.android.billingclient:billing-ktx:5.1.0"
Код: Выделить всё
private var billingClient: BillingClient? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
//Setup billing
billingSetup()
}
private fun billingSetup() {
billingClient = BillingClient.newBuilder(this)
.setListener(purchasesUpdatedListener)
.enablePendingPurchases()
.build()
//Connect to Google Play
connectToGooglePlay()
}
private fun connectToGooglePlay() {
billingClient!!.startConnection(object : BillingClientStateListener {
override fun onBillingSetupFinished(billingResult: BillingResult) {
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
Log.i("payment_flow", "OnBillingSetupFinish connected")
queryProduct()
} else {
Log.i("payment_flow", "OnBillingSetupFinish failed")
}
}
override fun onBillingServiceDisconnected() {
Log.i("payment_flow", "OnBillingSetupFinish connection lost")
//Re-connect to Google Play
connectToGooglePlay()
}
})
}
private fun queryProduct() {
val productList = ImmutableList.of(
Product.newBuilder()
.setProductId("monthly_plan")
.setProductType(BillingClient.ProductType.SUBS)
.build(),
Product.newBuilder()
.setProductId("yearly_plan")
.setProductType(BillingClient.ProductType.SUBS)
.build()
)
val queryProductDetailsParams = QueryProductDetailsParams.newBuilder()
.setProductList(productList).build()
billingClient!!.queryProductDetailsAsync(queryProductDetailsParams) {
billingResult: BillingResult, productDetailsList: List
->
Log.d("payment_flow", "onProductDetailsResponse: 1: $billingResult")
if (productDetailsList.isNotEmpty()) {
tmpProductDetailsList.addAll(productDetailsList)
Log.d("payment_flow", "onProductDetailsResponse: " + productDetailsList.size)
} else {
Log.i("payment_flow", "onProductDetailsResponse: No products")
}
}
}

Журналы при открытии страницы подписок в приложении

Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/755 ... from-googl
Мобильная версия