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

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

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


当前回答

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

其他回答

2022答:

这是测试调试/发布版本&如果应用程序是由Play签名(这意味着从谷歌Play交付的应用程序的签名证书与使用Android Studio从您的机器安装应用程序时的证书不同)。

检查以下步骤:

Create your product on Google Play Console and activate it. Add license testers (open the Google Play Console -> Settings -> License Testing). Add all the Google accounts listed on your android device. Upload signed app to the internal testing track (it must be in release mode). Use the testing link to check if the app is available to download (make sure the uploaded app version to the internal track matches the version you're testing in debug mode). It takes some time to see the latest uploaded version there, so I recommend clearing the cache of the Play Store app. Run your app in debug mode from Android Studio. (Again, the app version and build number must match the values on the published version to the internal track).

我在两个不同的谷歌Play Console帐户(两个不同的应用程序)上进行了测试,它是有效的。

2021年结论

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

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

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

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

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

这个错误可能是由几个原因引起的。

以下是谷歌IAB测试的要求列表。

先决条件:

AndroidManifest must include "com.android.vending.BILLING" permission. APK is built in release mode. APK is signed with the release certificate(s). (Important: with "App Signing by Google Play" it only works if you download directly from GooglePlayStore!) APK is uploaded to alpha/beta distribution channel (previously - as a draft) to the developer console at least once. (takes some time ~2h-24h). IAB products are published and their status set to active. Test account(s) is added in developer console.

测试要求:

测试APK的versionCode与上传到开发人员控制台的版本相同。 测试APK使用与上传到dev.console的证书相同的证书进行签名。 测试帐户(不是开发人员)-是设备上的主要帐户。(根据@MinosL的评论,主账号可能不需要) 测试帐户被选择为测试人员,并与有效的支付方式相链接。(@Kyone)

p.s.:发布证书调试:https://stackoverflow.com/a/15754187/1321401(链接为Thnx @dipp)

p.p.s.:很久以前就想列这个清单了。

@zlgdev, @Kyone, @MinosL更新

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

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

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

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

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

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