【问题标题】:Amazon In-App-Purchase Bug亚马逊应用内购买错误
【发布时间】:2012-05-31 07:34:08
【问题描述】:

我们刚刚在 Amazon Android Store 上推出了我们的游戏,其中包含他们新的应用内购买 SDK。我们看到一些销售导致用户无法获得他们支付的虚拟商品。我已经复制了一个用例,每次都会导致这种情况发生。

基本上,用户发起 IAP 后,他们会被带到亚马逊购买对话框,他们进行购买并获得亚马逊的购买确认对话框。
如果用户单击对话框上的关闭按钮或屏幕底部选项栏上的返回按钮(使用 Kindle Fire),对话框将关闭,并且 IAP 流程会向应用程序发送一条消息,购买已完成成功。我收到消息并处理它,一切都很好。
但是,如果用户点击“主页”按钮,购买确认关闭并且用户被转储到主屏幕,则应用永远不会收到购买成功消息。

我正在尝试解决一些问题,因为用户不会关心亚马逊 IAP 实施中消息回执的变幻莫测,他们只关心他们为没有得到的东西付费。我们有 1 件非消耗品,这不是问题,因为我们的应用会在启动时检查以前的购买。但消耗品是另一个问题。你无法恢复那些。

有人遇到过这种情况吗?有解决办法吗?

【问题讨论】:

    标签: amazon kindle in-app-purchase


    【解决方案1】:

    实际上有 2 个应用程序执行购买。购买由您的应用程序发起,但由设备中的亚马逊 IAP 组件执行,该设备是另一个应用程序。如果您按下主页按钮,这会将应用程序带到后台,并且通常由于 android 的积极内存管理,应用程序会进入休眠阶段甚至被终止,具体取决于设备上的资源利用率。这会导致购买无法到达您的应用。

    亚马逊有一个解决方法。如此处所述 - https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs-v2/implementing-iap-2.0,实现 onPurchaseUpdateResponse(),它将在重新启动应用程序时获取待处理的购买。有一小段时间延迟会阻止立即“获取待处理的购买”。

    还要确保在项目完成后调用 notifyFullfilment()。不这样做仍然会导致您的应用程序正常工作;但这可能会对您的获利产生负面影响(有不同的原因,我不会详细说明)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-26
      • 2012-09-10
      • 2013-07-20
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      相关资源
      最近更新 更多