BillingClient:此设备不支持应用内结算 API 版本 3
BillingClient: In-app billing API version 3 is not supported on this device
我正在开发一个 Android 应用程序,我现在正处于实施应用程序内购买的阶段。我已按照 Android 开发人员自己的 guide 来执行此操作。但是,当我启动我的应用程序时,我在控制台中收到以下日志:
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 商店。我已将其作为 Google Play Billing Library 问题跟踪器中的错误提交。 https://issuetracker.google.com/issues/194746924
请注意,并非所有 Android 模拟器都支持 Google Play 商店!如果您的模拟器上没有 Play 商店,您将无法登录或测试购买。
使用 Android Studio AVD Manager 时,请务必创建支持 Play Store 的设备。在您在这里看到的示例中,“Pixel 4”支持 Play Store,但“Pixel 4 XL”、“Pixel 4a”和“Pixel XL”设备没有 Play Store 图标;这些设备不能用于测试 Play Billing。
API 返回一个奇怪的错误。在这种情况下,错误代码为 3,您会收到以下错误消息:Google Play In-app Billing API version is less than 3。
解决方案是 link 您的 Play 商店应用程序与您的 Google 帐户之一。
添加付款方式。
最后,应用计费在模拟器上运行良好。
我正在开发一个 Android 应用程序,我现在正处于实施应用程序内购买的阶段。我已按照 Android 开发人员自己的 guide 来执行此操作。但是,当我启动我的应用程序时,我在控制台中收到以下日志:
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 商店。我已将其作为 Google Play Billing Library 问题跟踪器中的错误提交。 https://issuetracker.google.com/issues/194746924
请注意,并非所有 Android 模拟器都支持 Google Play 商店!如果您的模拟器上没有 Play 商店,您将无法登录或测试购买。
使用 Android Studio AVD Manager 时,请务必创建支持 Play Store 的设备。在您在这里看到的示例中,“Pixel 4”支持 Play Store,但“Pixel 4 XL”、“Pixel 4a”和“Pixel XL”设备没有 Play Store 图标;这些设备不能用于测试 Play Billing。
API 返回一个奇怪的错误。在这种情况下,错误代码为 3,您会收到以下错误消息:Google Play In-app Billing API version is less than 3。 解决方案是 link 您的 Play 商店应用程序与您的 Google 帐户之一。
添加付款方式。 最后,应用计费在模拟器上运行良好。