【问题标题】:Google In app Billing V3 ERROR CodeGoogle In app Billing V3 错误代码
【发布时间】:2014-07-13 12:07:52
【问题描述】:

In app Billing v3 在不止一种情况下返回响应代码 (BILLING_RESPONSE_RESULT_USER_CANCELED:1) -1005

启动购买流程会打开类似 Google Play 的 UI。每当此 UI 中发生错误时,例如网络断开/超时/物品不可用/物品已购买,都会弹出一个对话框以指示错误。当点击 OK 时,Response code : User Cancelled(1) 总是在 OnActivityResult Intent extras 中返回。根据 Android 开发者网站上的参考资料,这应该只在用户取消活动/对话框时才会发生,我显然不会这样做。

我想分离出不同的错误并在我的应用程序中单独处理它们。返回一个错误代码并没有帮助。有人遇到过吗?有解决办法吗?

【问题讨论】:

    标签: android in-app-purchase google-play in-app-billing


    【解决方案1】:

    郑重声明,这似乎是 Google Play 客户端的问题。 Google 已开始将 GP 客户端更新为 4.0+ 版本,并且该错误似乎已修复。

    【讨论】:

    • 我仍然经常从运行 Android 版本(从 2.3.x 到 4.2.2)的设备中收到此错误。也许我所有的客户都在最后一刻改变了主意,但我对此不太确定。
    【解决方案2】:

    TrivialDrive 演示测试值 Activity.RESULT_CANCELED 的 onActivityResult() 回调, 并假设如果这是返回的值,则用户已取消。

    这是一个不正确的假设,因为如果该活动结果中的 responseCode 是 BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED (=7) 那么 Activity.RESULT_CANCELED 意味着 应用内计费服务不允许购买,因为该项目已被拥有。 此响应代码对我有用。

    但是,一旦消除了这种可能性,我发现可以安全地假设用户已取消。不过,我最近还没有检查过 Google 是否已使 BILLING_RESPONSE_RESULT_USER_CANCELED 响应代码直接可测试且可靠。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-03
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 2012-12-01
      • 2012-11-29
      • 1970-01-01
      • 2014-11-12
      相关资源
      最近更新 更多