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