BILLING_RESPONSE_RESULT_DEVELOPER_ERROR

时间:2019-04-29 08:56:19

标签: android google-play in-app-purchase in-app-subscription

在测试我的应用内订阅时,我一直收到此响应“ BILLING_RESPONSE_RESULT_DEVELOPER_ERROR”。

我在发布模式下为我的应用生成了签名的APK,并上传到了Google Play上进行Alpha测试。我遵循了本教程 https://codelabs.developers.google.com/codelabs/play-billing-codelab/#0 测试“ android.test.purchased”产品的静态响应时,它工作正常。但在测试我的订阅时会给出以上响应。

这是我得到此回复的代码

mBillingClient.startConnection(new BillingClientStateListener() {
            @Override
            public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponse) {
                if (billingResponse == BillingClient.BillingResponse.OK) {
                    Log.i(TAG, "onBillingSetupFinished() response: " + billingResponse);
                    if (executeOnSuccess != null) {
                        executeOnSuccess.run();
                    }
                } else {
                    Log.w(TAG, "onBillingSetupFinished() error code: " + billingResponse);
                }
            }

            @Override
            public void onBillingServiceDisconnected() {
                Log.w(TAG, "onBillingServiceDisconnected()");
            }
        });    

另外,当我上传我的apk时,谷歌询问我是否要加入“让Google管理和保护您的应用签名密钥(推荐)”,所以我做了... 我阅读了一些解决方案,但所有这些都涉及一个步骤,即“应用程序签名”,但现在我什么也不能做: https://ibb.co/d71LvCK

我也创建了测试用户,并获得了下载我的应用程序的链接。我正在用同一用户测试我的应用程序。 (当然与我的Play商店帐户不同) 请帮忙,谢谢:)

2 个答案:

答案 0 :(得分:1)

在设置中清除 Google Play 商店应用缓存,我花了一段时间才弄明白

答案 1 :(得分:0)

The docs say

  

BILLING_RESPONSE_RESULT_DEVELOPER_ERROR:提供给API的参数无效。此错误也可能表明该应用程序未正确签名或未针对Google Play结算正确设置,或在其清单中没有必要的权限

因此,这表明调用API时发生了一些错误。

可能的错误:

  • 使用开发者帐户而不是单独的测试者gmail帐户(您说自己没有这样做)
  • 您确定要使用Play商店alpha通道中的APK进行测试,而不是使用IDE构建的APK吗?如果Play正在对您的应用进行签名,那么您需要使用Google Play应用来测试从Play商店的Alpha频道下载的安装,而不是使用您的IDE签名的安装进行测试。