项目场景:

因为想出海看看外面的世界,第一次上线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付款并不是一件容易的事情,需要大家有耐心和细心。

以下几个步骤需要大家逐一检查一下是否满足要求:

  1. 你需要拥有一个完整的Google Play账号,是可以登录的;

  2. 你的Google Play中最好只有一个账号;如果有多个,那么请临时移除,只保留一个;

  3. 保留的 Google Play账号最好不是您的Google Play开发者账号,希望是其它普通账号;

  4. 你的网络需要是正常的,是可以连接到美帝服务器的:);

  5. 当你的网络连接正常时,那么请打开你的Google Play App,如果在付费栏里面能够刷到商品,说明你的链路一切正常。
    就像下面这种:

  6. 此时,当你再次使用Billing API进行调用时,如果还是没有正常结果,那么请打开您的手机APP管理,将Google Play Service 和 Google Play 两款APP的缓存和数据清理一下,然后重启手机,重试以上操作:

  1. 如果还不能执行操作,那么你可以先在Google Play上先下载一个付费版的App,尝试进行付费,如果出现了付款对话框,则说明您的机器是没有问题的,那么需要重新按照上面的步骤重新查找一次,看看有没有什么遗漏的:

最后,祝你好运。Google Play 一切皆有可能。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐