我正在努力学习应用内结算,但我在谷歌的应用内结算示例中遇到了问题,即Dungeon。
我已经设置了应用程序,添加了我的公钥,并在makeRequestBundle()中将API_VERSION更改为1.
我已经导出并签署了该应用程序并将其上传到Google Play并将其保存为带有几张图片的草稿并激活了apk。我还添加了sword_001和potion_001作为已发布的应用内购买!
接下来我将已签名的应用程序安装到我的手机上,但当我尝试购买剑或药水时,我收到了一个项目不可用的错误
您要求的商品无法购买。
我甚至尝试使用其他设备来确保不是因为开发人员无法购买自己的产品,而且我在两台设备上都收到相同的消息。
我错过了什么?
答案 0 :(得分:24)
检查versionCode
。它不能高于您在任何分销渠道(prod / beta / alpha)中的上一个已发布/未发布的版本。
答案 1 :(得分:21)
在应用程序计费中似乎充满了陷阱,但这是我发现影响购买项目的可用性以及应用程序的适用性:
希望这有助于某人。我不得不说它是一个非常复杂的系统,没有太多的回答,我几乎放弃了它。
答案 2 :(得分:9)
如果您的应用正在进行封闭式Alpha测试,则必须使用您的测试帐户登录选择加入的网址; https://play.google.com/apps/testing/{your.app.namespace}
答案 3 :(得分:6)
我对此错误的体验是:
确保将已签名的APK上传到开发者控制台。
确保在您的设备上安装已签名的APK,而不是在调试器中启动该应用。
确保在开发者控制台中创建测试帐户。
请务必使用您的测试帐户登录您的设备。
确保在您的开发者控制台中创建应用内结算,最后从控制台激活该项目! (这是完全遵循谷歌教程后得到的那个)
答案 4 :(得分:2)
仅仅上传未发布的草稿apk以测试应用内结算已经不够了。您需要做的是将apk上传到开发者控制台上的alpha或beta apk部分。然后,您需要发布它。如果您还在Production APK部分中有apk草稿,请务必在发布之前将其删除。否则它将对所有人开放。
发布alpha或beta apk使该apk仅适用于您指定/允许的那些测试人员。
以下是Google的相关文档:
https://support.google.com/googleplay/android-developer/answer/6062777?rd=1
答案 5 :(得分:1)
我找到了解决问题的方法。我无法让谷歌的应用程序购买示例工作,但我能够使用我在原始帖子中提到的步骤使InApp Billing Tutorial工作。
如果没有其他任何内容可能会让某人看到测试其中一个应用内结算示例时需要执行的所有步骤。
答案 6 :(得分:1)
发布应用程序对我有用(并将其发布(!))。我不得不等待Google更新他们的数据库,如其他地方所述,Google Play上的更改不会立即发生。
答案 7 :(得分:1)
这个问题也持续了几天,并且搜索了很多。我发现这个人说删除应用程序然后重新上载修复了他的问题,这对我来说实际上也有效。
试试,完全从开发者控制台删除您的应用。并重新加载一个新签名的apk并重新设置
答案 8 :(得分:1)
轶事补充:如果您已经在门户网站中有现有应用,并且您想测试已签名的版本,但未将其上传到门户网站以进行分发。执行构建签名版本的常规步骤但使用上载到门户中的最新版本代码。您将可以对购买进行快速而肮脏的测试(您无法在Google Play门户网站上上传此版本,但这是结束本地化测试的一种方法(或者甚至可以作为允许侧面加载分发的方式)使用Google Play进行合法计费的版本/口味。)
3:)