Покупки в приложении (панель не отображается для покупки)

Когда вы применяете покупки в приложении, описанные на веб-сайте developer.android, это ссылка на объяснение.

Использовать платежную библиотеку Google Play

Все идеально Я могу получить цену, описание и адрес продукта Проблема в том, что диалог покупки не появляется Я использую настоящий телефон

Это код покупки в приложении

class AppBilling : AppCompatActivity(), PurchasesUpdatedListener {
private lateinit var billingClient: BillingClient
private val skuList = ArrayList<String>()

override fun onPurchasesUpdated(billingResult: BillingResult?, purchases: List<Purchase>?) {

    Log.i("TAG", "$billingResult :::: $purchases")

    if (billingResult != null) {
        if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchases != null) {
            for (purchase in purchases) {
                Log.i("TAG", "$purchase if")
                handlePurchase(purchase)
            }
        } else if (billingResult.responseCode == BillingClient.BillingResponseCode.USER_CANCELED) {
            Log.i("TAG", "else if")
        } else {
            Log.i("TAG", "else")
        }
    }
}
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_app_billing)
    billingClient = BillingClient.newBuilder(this@AppBilling).setListener(this).enablePendingPurchases().build()

    val params = SkuDetailsParams.newBuilder()
    skuList.add("rm_admob")
    params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP)

    billingClient.startConnection(object : BillingClientStateListener {
        override fun onBillingSetupFinished(billingResult: BillingResult?) {
            billingClient.querySkuDetailsAsync(params.build()) { billingResult, skuDetailsList ->
                if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && skuDetailsList != null) {
                    for (skuDetails in skuDetailsList) {
                        val sku = skuDetails.sku
                        val price = skuDetails.originalPrice
                        val title = skuDetails.title
                        val desc = skuDetails.description
                        val flowParams = BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build()
                        if ("rm_admob" == sku) {
                            id_price.text = price
                            id_title.text = title
                            id_desc.text = desc

                            id_rm_admob.setOnClickListener {
                                val responseCode = billingClient.launchBillingFlow(this@AppBilling, flowParams)
                            }

                        }
                    }
                }
            }
        }

        override fun onBillingServiceDisconnected() {

        }

    })
}

private fun handlePurchase(purchase: Purchase) {
    if (purchase.sku == "rm_admob") {
        Log.i("TAG", "handlePurchase()")
    }
}
}

Спасибо


person Mustafa Max    schedule 21.10.2019    source источник
comment
Что такое id_rm_admob? Это кликают?   -  person DrPower    schedule 07.11.2019


Ответы (1)


Пожалуйста, используйте свой адрес электронной почты в качестве тестера в консоли приложения Google.

person Avinash    schedule 21.10.2019
comment
Пожалуйста, подтвердите адрес электронной почты тестера так же, как адрес электронной почты телефона?. Могу ли я увидеть, где вы размещаете электронную почту в игровой консоли. - person Avinash; 23.10.2019
comment
Спасибо. Это изображение аккаунта 2.top4top.net/p_139135bj21.png - person Mustafa Max; 23.10.2019
comment
да, хорошо, но, пожалуйста, добавьте электронную почту в опцию управления тестером, которая доступна на игровой консоли, и имейте в виду, пожалуйста, используйте релиз apk, через 1 час появится всплывающее окно. - person Avinash; 24.10.2019