当我试图运行我的应用程序内计费我得到的错误:“这个版本的应用程序没有配置通过谷歌播放计费。查看帮助中心获取更多信息”。

我已经在Manifest文件中有计费权限,我有一个签名的。apk作为草稿上传到谷歌Play上,我也已经在我的手机上安装了相同的签名apk。

有什么帮助可以解决这个问题吗?


当前回答

你需要用你的实际证书签署APK。然后将其安装到测试设备上。然后您可以测试InAppBilling。如果您正在通过eclipse直接运行到设备(在调试模式下)来测试应用程序,那么您将得到这个错误。

如果你使用android.test. bought作为SKU,它会一直工作,但是在你的最终响应中不会有developerPayload。

如果你使用的是你自己的应用项目草稿,你可以一直测试,但你会被收费,所以之后你必须自己退款。

您不能使用用于谷歌游戏开发控制台的相同gmail帐户购买物品。

其他回答

让我补充一下发生在我身上的事,也许能帮到别人。

这主要是由于签约。

由于我已经在Project结构中添加了签名细节,所以我认为每次运行时,都安装了期望的签名apk。但是选择了“调试”构建类型。

下面的修复为我解决了问题。

生成构建类型为“release”的签名apk。 手动安装apk。

如果你想调试IAB,你需要做的是:

提交到谷歌播放你的应用程序的版本与IAB的权限清单: 在谷歌播放上添加一个产品到您的应用程序:管理应用程序内计费 设置有签名的自定义调试密钥库:将Eclipse配置为使用有签名的密钥库

最近谷歌对他们的系统进行了更改,因为你已经上传了至少一个APK到你的控制台,你可以用你的应用程序测试你的应用内请求,使用任何版本代码/号码。

交叉参考LINK

配置gradle为调试版本签名。

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
            ...
        }
    }
}

你需要用你的实际证书签署APK。然后将其安装到测试设备上。然后您可以测试InAppBilling。如果您正在通过eclipse直接运行到设备(在调试模式下)来测试应用程序,那么您将得到这个错误。

如果你使用android.test. bought作为SKU,它会一直工作,但是在你的最终响应中不会有developerPayload。

如果你使用的是你自己的应用项目草稿,你可以一直测试,但你会被收费,所以之后你必须自己退款。

您不能使用用于谷歌游戏开发控制台的相同gmail帐户购买物品。

如果你发布的版本与你在手机上测试的版本不一样,也会发生同样的情况。

例如,上传的版本是android:versionCode="1",而你在你的手机上测试的版本是android:versionCode="2"