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

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

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


当前回答

在我的情况下,由于安装的apk和上传到市场的apk的签名不同,我看到了相同的消息。

其他回答

最近谷歌对他们的系统进行了更改,因为你已经上传了至少一个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
            ...
        }
    }
}

啊,经过几个小时的尝试,终于找到了解决方案。

谷歌需要一段时间来处理应用程序并将它们更新到服务器,对我来说大约需要半天。因此,在谷歌Play上以草稿形式保存apk后,你必须等待几个小时,应用内产品才能正常响应,并允许定期购买。 导出并签署APK。未签名的APK试图进行购买将得到错误。

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

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

2021年结论

对于所有关心调试的人,您可以在调试模式下运行、调试和测试代码

下面是你如何测试这个过程:

(当然,这取决于您已经添加并激活了您的产品,并且您的代码已经准备好与这些产品集成)

将com.android. selling . billing添加到清单中 上传签名apk到内部测试 添加许可证测试员(播放控制台->设置->许可证测试)-如果你在你的设备上使用多个帐户,你不确定使用哪一个,只需将它们都添加为测试员。 像往常一样,从Android Studio运行应用程序(*应用程序应该具有与您刚刚上载到内部测试的应用程序相同的版本代码)

我做了上面的事情,它工作得很好。

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

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