计费客户端:此设备不支持应用内计费API版本3

6
我正在开发一款安卓应用,现在正处于实现应用内购买的阶段。我按照安卓开发者提供的指南进行开发,详见此链接。但是,当我启动应用时,控制台中出现以下日志: W/BillingClient: In-app billing API version 3 is not supported on this device. 我在我的MainActivity中的onCreate方法中调用了setUpBillingClient()方法。其余的调用方式如下:
private fun setUpBillingClient() {
        billingClient = BillingClient.newBuilder(this)
            .setListener(purchaseUpdateListener)
            .enablePendingPurchases()
            .build()
        startConnection()
    }

private val purchaseUpdateListener =  PurchasesUpdatedListener { billingResult, purchases ->

    }

private fun startConnection() {
    billingClient?.startConnection(object : BillingClientStateListener {
        override fun onBillingSetupFinished(billingResult: BillingResult) {
            if (billingResult.responseCode ==  BillingClient.BillingResponseCode.OK) {
                Log.v("TAG_INAPP","Setup Billing Done")
                // The BillingClient is ready. You can query purchases here.
                queryAvaliableProducts()
            }
        }
        override fun onBillingServiceDisconnected() {
            Log.v("TAG_INAPP","Billing client Disconnected")
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
        }
     })
   }

我无法获取startConnection()方法产生的任何日志。通过谷歌搜索,似乎找不到类似问题的人。我已经尝试使用不同的模拟器和不同的API以查看是否是模拟设备不兼容,但它们都给出了相同的错误。有什么建议吗?

我还尝试实现了剩下的代码(完成purchaseUpdateListener和购买处理程序),但它仍然无法工作。在流程开始时出现了问题。


你用什么设备进行测试?安装了哪个版本的Google Play服务? - Robert
1
进行测试时,您必须拥有真实的设备。 - mehul chauhan
你需要一个带有Play Store的模拟器。安装了Play Store并拥有有效Google账户的模拟器可以进行测试购买。这是我主要用于调试的工具。 - from56
原来拥有一个带有Play Store的模拟器对我来说还不够(因为我已经在使用它了)。然而,当我使用自己的Android设备时,它运行得非常好。感谢您的帮助! - Aletho
2个回答

17

这个错误信息极其误导。它只是意味着你必须先在设备上登录Google Play商店。我已将此作为一个漏洞提交到了Google Play计费库问题跟踪器中。https://issuetracker.google.com/issues/194746924

请注意,并非所有的Android模拟器都支持Google Play商店!如果你的模拟器没有安装Play Store,你将无法登录或测试购买。

当使用Android Studio AVD Manager时,请确保创建一个具有Play Store支持的设备。在这里看到的示例中,“Pixel 4”具有Play Store支持,但“Pixel 4 XL”、“Pixel 4a”和“Pixel XL”设备没有Play Store图标;这些设备不能用于测试Play计费。

Android Studio AVD Manager


如果您在实际设备上遇到此错误,即使您已登录、更新了Play商店等,请检查系统设置中添加的帐户。我在所有其他电子邮件列表中添加了一个失效的电子邮件地址。一旦我将其删除,它立即开始工作。 - Udayaditya Barua
1
遗憾的是,到了2022年,错误信息仍然是一样的。顺便感谢您的回答! - Shahood ul Hassan
我应该添加使用启用了付款方式的Google帐户登录吗?仅仅拥有Play服务是不够的吗? - Mohammad

2
API返回了一个奇怪的错误。在这种情况下,错误代码是3,您会收到以下错误消息:Google Play应用内计费API版本小于3。解决方法是将Play Store应用程序与您的Google帐户之一链接起来。
添加付款方式。最后,在模拟器上应用程序计费正常工作。

我应该添加使用启用了付款方式的Google帐户登录吗?仅仅拥有Play服务是不够的吗? - Mohammad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接