gpt4 book ai didi

安卓 : In-app purchase returns 3 error code (item already owned) always

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:56 26 4
gpt4 key购买 nike

这是我第一次在我的应用中尝试应用内结算。我正在使用 Play Billing Services extras 示例文件夹中 TriviaDrive 示例中的 labHelper 代码 ( https://gist.github.com/yigit/4543005 )。当我尝试使用谷歌提供的测试代码时,即产品代码为“android.test.purchased”(在 'Testing with static responses' 下给出),它工作正常。但是现在,我转而使用测试 Google 帐户(即许可证测试,在“设置测试帐户”here 下给出)。我成功购买了商品。但是,当我尝试使用已购买的商品(它是按月订阅的产品)时,我会收到一个错误对话框,提示“您已经拥有该商品”。同时,在日志中,我看到消息

05-02 17:10:36.599: D/Finsky(6396): 1 PurchaseFragment.handleError: 错误: PurchaseError{type=3 subtype=3}

05-02 17:10:36.599: D/Finsky(6396): 1 PurchaseFragment.fail:购买失败:PurchaseError{type=3 subtype=3}

(响应代码 3 表示“无法结算”)

但是,如果我关闭错误对话框,我会收到响应 7(即“您已经拥有此项目”)。

不确定为什么我已经购买的商品总是得到 3 分?请帮忙。

我尝试过的

  1. 我尝试在 Activity 的 onCreate() 中调用 startSetup() 和监听器 OnIabSetupFinishedListener()。正在收到响应 0。
  2. 然后我尝试了 labHelper 类的“queryInventoryAsync(mReceivedInventoryListener)”方法,它也返回 3。
  3. 我尝试了 labHelper 类中与消费相关的方法launchSubscriptionPurchaseFlow(这个, InAppBillingExportProductId, 10001, mPurchaseFinishedListener, "");

mPurchaseFinishedListener 返回响应 0(即成功),但它立即返回错误 -1010 (IABHELPER_INVALID_CONSUMPTION)

请帮忙。已经为这个问题苦苦挣扎了 3 天多了!

最佳答案

IabHelper 有一个名为 enableDebugLogging(...) 的方法,您可以使用(用 true 调用它)为所有 IabHelper 操作打开非常详细的日志记录。如果您可以发布完整日志的副本,可能更容易弄清楚到底发生了什么。

但是让我根据你写的内容发表一些想法:

  • 与普通托管产品一样,订阅项目如果已经拥有则无法再次购买。
  • 检查所有权的方法是通过 queryInventoryAsync(...)(如果 inventory.getPurchase(sku) 不是 null,则您拥有该项目)。不幸的是这是not always 100% accurate我还没有找到解决办法。
  • 要“使用”托管产品或订阅,只要在上述检查告诉您该项目为您所有的情况下,让您的应用程序提供您出售的任何服务即可。
  • 托管产品和订阅之间的最大区别在于用户再次失去它们的方式(即可以第二次或第三次购买相同的 sku):
    • 如果用户不续订,订阅将在预定期限结束时自动过期,
    • 而托管产品需要被您的应用主动“消费”才能再次使用。

因此,如果您在“消费”受管理产品之前尝试再次购买它,您将收到“您已经拥有该元素”的错误消息。尝试再次购买您已购买且尚未过期的订阅也是如此。

“IABHELPER_INVALID_CONSUMPTION”错误可能是由于无法使用订阅,只有托管产品可以使用。订阅只会过期(或者您可以从开发者控制台退款)。

我不确定“PurchaseError{type=3 subtype=3}”错误从何而来。那个可能更容易从实际的 IabHelper 调试输出中追踪。如果您可以使用完整日志更新您的问题,请给我发评论,我可以查看它,并可能在需要时帮助您理解它。

如果您还有其他问题,请告诉我。我希望这会有所帮助。

关于安卓 : In-app purchase returns 3 error code (item already owned) always,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30045605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com