android - 应用内结算,无法让 RESULT_DEVELOPER_ERROR 消失

标签 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

我的设置:

  1. 我有 list 中的计费权限。
  2. 计费服务和接收方在 list 中定义。
  3. 我的应用程序未发布,我只有草稿。
  4. 我创建了一个应用内商品并将其发布。
  5. 我添加了一个测试帐户,但不确定此时它是否有所作为。
  6. marketplace 中的草稿 apk 和我手机上的 apk 都是在 Release模式下使用相同的 key 和相同的版本代码签名的。

我已经购买了应用内购买以在另一个应用中使用,但在那种情况下,我已经发布了该应用的一个版本。在这种情况下(如#3 中所述),我从未发布过 apk 一次。我们是否必须发布应用程序一次才能运行?我假设不会,

谢谢

最佳答案

看起来您已遵循文档中的所有要求,因此我认为解决方案是简单地等待 Google Play 服务器 catch 进度。

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

关于android - 应用内结算,无法让 RESULT_DEVELOPER_ERROR 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11513643/

相关文章:

Android VideoView 在 stopPlayback() 后清除显示

Android 订阅 getPurchases

in-app-purchase - 可用产品的 Android 应用内结算列表

android - 我如何在适用于 Android 的 Google Play Billing 中获取有关应用内购买的信息

java - 无法解析符号 'BillingResponse'

Android 谷歌地图 onInfoWindowClick 唯一标识标记

java - Kotlin : how to Convert String with HTML numbers to String without HTML numbers

java - 使用 ViewPropertyAnimator 淡入图像

android - 应用内计费设计 - 如何在首次安装时为用户提供免费项目

android - 使一个 IAP 对不同的应用程序有效