解决 Google Play 支付问题:In-app billing API version 3 is not supported on this device
项目场景:因为想出海看看外面的世界,第一次上线Google Play产品,需要添加Google Play赚美刀,使用的是Google Play Billing框架V3版本,所使用的的机器是 Google Pixel 3XL, 系统是当前最新的 Android R(当前时间2020/09/08), 依照Google中文开发文档 https://mp.weixin.qq.com/s/QQg4ttdnn
项目场景:
因为想出海看看外面的世界,第一次上线Google Play产品,需要添加Google Play赚美刀,使用的是Google Play Billing框架V3版本,所使用的的机器是 Google Pixel 3XL, 系统是当前最新的 Android R(当前时间2020/09/08), 依照Google中文开发文档 https://mp.weixin.qq.com/s/QQg4ttdnn6XLrOBZIDsEQA ,发现在开发的过程中,存在In-app billing API version 3 is not supported on this device
问题描述:
在使用BillingClient进行连接时,执行以下代码:
lateinit private var billingClient: BillingClient
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Set up the billing client
billingClient = BillingClient
.newBuilder(this)
.enablePendingPurchases()
.setListener(this)
.build()
billingClient.startConnection(object : BillingClientStateListener {
override fun onBillingSetupFinished(billingResult: BillingResult) {
// --------------->>> 此处返回异常错误码--------------------------
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) {
Log.i(TAG, "Billing client successfully set up")
}
}
override fun onBillingServiceDisconnected() {
Log.i(TAG, "Billing service disconnected")
}
})
}
BillingResult.responseCode
并没有返回 BillingClient.BillingResponseCode.OK
,而是直接返回是 In-app billing API version 3 is not supported on this device
, 返回错误码是3, 查找对应的错误描述是:
int BILLING_UNAVAILABLE = 3;
中文的意思为账单不可用!!!
原因分析:
在分析Google账户问题,手机问题,网络问题,Google Play问题,Google Service问题之后,终于找到解决方案。
解决方案:
首先我们需要明白一点,在天朝调试Google Play付款并不是一件容易的事情,需要大家有耐心和细心。
以下几个步骤需要大家逐一检查一下是否满足要求:
-
你需要拥有一个完整的Google Play账号,是可以登录的;
-
你的Google Play中最好只有一个账号;如果有多个,那么请临时移除,只保留一个;
-
保留的 Google Play账号最好不是您的Google Play开发者账号,希望是其它普通账号;
-
你的网络需要是正常的,是可以连接到美帝服务器的:);
-
当你的网络连接正常时,那么请打开你的Google Play App,如果在付费栏里面能够刷到商品,说明你的链路一切正常。
就像下面这种:
-
此时,当你再次使用Billing API进行调用时,如果还是没有正常结果,那么请打开您的手机APP管理,将Google Play Service 和 Google Play 两款APP的缓存和数据清理一下,然后重启手机,重试以上操作:
- 如果还不能执行操作,那么你可以先在Google Play上先下载一个付费版的App,尝试进行付费,如果出现了付款对话框,则说明您的机器是没有问题的,那么需要重新按照上面的步骤重新查找一次,看看有没有什么遗漏的:
最后,祝你好运。Google Play 一切皆有可能。
更多推荐
所有评论(0)