我正在尝试在 Android 上进行应用内计费,但在尝试初始化事务时不断获得以下 logcat 输出:
// from logcat, BillingService:
Billing service connected
CheckBillingSupported
CheckBillingSupported response code: RESULT_OK
RestoreTransactions
restoreTransactions received RESULT_OK
request id: 12345
request id: -1
handleCommand() action: [com.android.vending.billing.RESPONSE_CODE].
RestoreTransactions: RESULT_DEVELOPER_ERROR
我的设置:
- 我在清单中拥有计费权限。
- 计费服务和接收者在清单中定义。
- 我的应用程序是未发表,我刚刚写了一份草稿。
- 我创建了一个应用内项目并发布了它。
- 我添加了一个测试帐户,但目前不确定它是否会产生影响。
- 市场中的草稿 apk 和我手机上的 apk 均使用相同的密钥以发布模式进行签名,并具有相同的版本代码。
我已经在另一个应用程序中进行了应用内购买,但在这种情况下,我已经发布了该应用程序的一个版本。在这种情况下(如 #3 中所述),我从未发布过该 apk 一次。我们是否必须发布一次应用程序才能使其发挥作用?我认为不会,
Thanks
看起来您已经遵循了文档中的所有要求,因此我认为解决方案就是等待 Google Play 服务器赶上。
当我将应用程序的新版本 apk 上传到 Google Play 后不久尝试恢复交易时,我遇到了同样的问题。看来新的apk需要一些时间(也许几个小时)才能在Google服务器上完全处理,以便它正确响应all计费请求的类型。例如,我在响应 CHECK_BILLING_SUPPORTED 时得到了 RESULT_OK,而无需等待太长时间,但在 RESTORE_TRANSACTIONS 方面遇到了问题(RESULT_DEVELOPER_ERROR 作为异步响应)。但是,当我在几个小时内再次尝试使用相同版本的 apk 时,我也得到了 RESULT_OK 作为对 RESTORE_TRANSACTIONS 的响应,而无需对代码进行任何更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)