应用内结算,无法使RESULT_DEVELOPER_ERROR消失

use*_*701 3 android in-app-billing android-billing

我正在尝试在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
Run Code Online (Sandbox Code Playgroud)

我的设置:

  1. 我在清单中有结算权限.
  2. 计费服务和接收方在清单中定义.
  3. 我的应用程序没有发布,我只是有一个草稿.
  4. 我创建了一个应用内商品,并将其发布.
  5. 我添加了一个测试帐户,但不确定它在这一点上有所作为.
  6. 市场上的apk草案和我手机上的apk都是在发布模式下使用相同的密钥签名并具有相同的versionCode.

我已经在应用内购买了在另一个应用程序中工作,但在那种情况下,我已经发布了该应用程序的一个版本.在这种情况下(如#3中所述),我从未发布过一次apk.为了实现这个目的,我们是否必须发布应用程序一次?我假设没有,

谢谢

rye*_*yev 5

看起来你已经遵循了文档中的所有要求,所以我认为解决方案就是等到Google Play服务器赶上来.

当我将应用程序的新版apk上传到Google Play后,我尝试恢复交易时遇到了同样的问题.似乎需要一些时间(可能是几个小时)才能在Google服务器上完全处理新的apk,以便它能够正确响应所有类型的结算请求.例如,我收到RESULT_OK以响应CHECK_BILLING_SUPPORTED而不必等待太长时间,但在RESTORE_TRANSACTIONS中出现问题(RESULT_DEVELOPER_ERROR作为异步响应).但是当我在几个小时内使用相同版本的apk再次尝试时,我也得到了RESULT_OK以响应RESTORE_TRANSACTIONS,而不对代码进行任何更改.

  • 我可以确认,在RESULT_DEVELOPER_ERROR停止返回之前,上传我的APK作为草稿需要大约40分钟. (3认同)