Amazon 应用内购买 v2 插件现已推出

Amazon 应用内购买 v2 插件现已推出

AmazonProductLogoCorona Labs 很高兴地宣布 **Amazon IAP v2** 插件已正式发布。 如果您计划将您的应用程序部署到亚马逊 Kindle 设备并使用其应用内购买(IAP)服务,您应尽快在您的项目内实现此插件。 此外,如果您当前在亚马逊应用商店中有一个使用其 IAP 服务的应用程序,则必须在 **2016 年 4 月 30 日**之前将其更新为 v2 插件。

实现新的插件

该插件已在商店中为您预先激活。 因为这是一个官方的 Corona Labs 插件,您需要更改您的 build.settings 文件以反映不同的 publisherId。 插件名称保持不变,但 publisherId 必须更改为 "com.coronalabs"

新的函数和属性

旧版插件相比,此更新的插件包含一些额外的函数和属性。

交易变更

除了上述新函数和属性之外,v2 插件还进行了一些重要更改。

  • 亚马逊现在要求您“完成”所有交易。 因此,您现在必须在每次交易后调用 store.finishTransaction() 以通知亚马逊该交易已处理。
  • Amazon IAP v2 不包括交易的 "restored" 状态。 仍然可以调用 store.restore() 函数来检索用户的所有购买,但现在所有有效的交易都将处于 "purchased" 状态。

迁移指南

我们迁移指南中总结了以上所有要点,它将帮助旧版插件的用户更新到新插件。

文档

与往常一样,我们为该插件提供了全面的文档。 我们鼓励旧版插件的用户和新用户查阅本文档,以便成功实现亚马逊应用内购买。

总结

请记住,亚马逊要求所有使用其应用内购买服务的应用程序在 **2016 年 4 月 30 日**之前升级到 v2。如果您有其他问题,请在 Corona 论坛 中讨论它们。

Rob Miracle
[电子邮件保护]

Rob 是 Corona Labs 的开发者关系经理。 除了热衷于帮助其他开发人员使用 Corona 制作出色的游戏之外,他还喜欢在业余时间制作游戏。 自 1979 年以来,Rob 一直在为个人电脑到大型机编写游戏代码。 他在游戏行业拥有超过 16 年的专业经验。

14 条评论
  • Scott
    发布于 09:41,4 月 6 日

    我在商店里没看到它,和以前的插件一样吗?

    • Rob Miracle
      发布于 09:45,4 月 6 日

      您在 build.settings 中放入的代码不同,但我们已将旧版本隐藏在商店中。 新版本指向新的插件和新的文档。

    • Scott
      发布于 18:59,4 月 6 日

      Rob 对不起在这里告诉你,我 5 天前提交了一个错误。 仍然没有收到回复。 我认为文本字段(不是文本框)存在相当大的问题,它们不会通过侦听器返回 began 阶段。 我知道这是题外话,但认为你们应该知道。

      • Rob Miracle
        发布于 19:41,4 月 6 日

        您应该收到来自错误跟踪器的电子邮件。 您可以回复该电子邮件以了解。 您也可以在论坛中更符合主题的地方提问,询问该错误,我可以查找它。

        • Scott
          发布于 20:53,4 月 6 日

          好的,我会回复
          编号为 45529

  • Andriy
    发布于 14:42,4 月 7 日

    新插件是否支持“store.canLoadProducts”和“store.canMakePurchases”属性?

    • Rob Miracle
      发布于 19:27,4 月 7 日

      Amazon IAP V2 不支持这些,但我们添加了相同名称的便利方法,它们只运行 true,因此您可以继续使用它们。

      • Andriy
        发布于 05:57,4 月 8 日

        谢谢你,Rob

  • Evan
    发布于 12:54,4 月 11 日

    当取消 IAP 时,我发现我的设备在调用回调函数之前有很长的延迟。 它最终会被调用,且 errorType 和 errorString 为 FAILED 和 FAILED。 有关此问题的更多信息吗? 理想情况下,它不应该花费 5-10 秒,并且 transaction.state 应该 == 'cancelled'。

    有什么想法吗?

    • Rob Miracle
      发布于 13:43,4 月 12 日

      可能需要那么长时间。

  • George
    发布于 14:15,4 月 11 日

    你好,Rob,我应该从哪里调用 finishTransaction? 从事务事件处理程序中吗? 一个示例将非常有帮助。 谢谢!

    • Rob Miracle
      发布于 13:42,4 月 12 日

      如果您正在使用我们在文档和教程中使用的典型 transactionHandler() 函数,在该函数内部,您将有一个大的 if-then-elseif-elseif-else-end 语句,您将在其中测试您是否获得了 transaction.state == “purchased” 等。 您可以在每个之后调用 finishTransaction,或者如果您的逻辑允许它流到末尾,则只需将其放在函数的末尾。 请参阅此处的示例代码:https://docs.solar2d.cn/daily/guide/monetization/IAP/index.html#transaction-listener

  • Stany2011
    发布于 04:08,4 月 12 日

    您好,您可以告诉我使用 amazon iap 插件必须添加哪些权限吗?

    • Rob Miracle
      发布于 13:39,4 月 12 日

      我们的插件会自行添加所需的权限。 您无需添加任何特殊内容。