【问题标题】:What is the best way to migrate In-app billing Version 2 to Version 3?将应用内结算版本 2 迁移到版本 3 的最佳方式是什么?
【发布时间】:2013-08-28 09:35:15
【问题描述】:

我周五收到一封来自 Google 电子钱包的电子邮件:

我们的记录表明,您是一名 Play 应用程序开发人员,可能正在使用 Google Checkout API 进行通知或报告。 5 月 20 日,我们宣布将替换这些 API。

自 7 月 25 日起,我们提供了替代 Play API,任何使用 Checkout >通知或报告 API 的人都需要在 8 月 22 日之前实施 Play API,以防止 >对您的脚本造成干扰。

如果您将 Checkout API 用于通知,请使用 Play Purchase Status API。如果您>使用 Checkout API 进行报告,您可以通过 gsutil 实用程序自动下载您的估计销售额>和收入报告

我假设我必须使用的 Google Checkout API 与我拥有的应用内结算版本 2 实施相关。它依靠计费服务通过本地通知与 Google Play 商店应用程序共享进程间通信。所以我相信我应该研究一下 Play Purchase Status API。我研究了它,但我想知道是否有任何教程或更好的文档来说明从旧的应用内结算版本 2 过渡到使用新的 Google Play Developer API 的过程。

Play 购买状态 API 页面指出:

该 API 旨在从您的后端服务器使用,作为一种安全管理应用内产品和订阅的方式,以及扩展它们并将其与其他服务集成。

这确实让我更加困惑,因为所有购买请求和令牌都是由设备上的 Android 应用程序处理的。我的后端服务器只记录我的应用程序通过 Web 服务调用发送给它的信息。我的后端服务器现在是否需要通过 Play 购买状态 API 定期轮询 Google 电子钱包服务器?

【问题讨论】:

    标签: android in-app-billing android-pay


    【解决方案1】:

    对于那些寻找服务器到服务器 API 更新说明的人来说,唯一明显的区别是您将端点路径中的“v2”更改为“v3”。

    以前是这样的:

    https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/products/productId/tokens/token

    现在是这样的:

    https://www.googleapis.com/androidpublisher/v3/applications/packageName/purchases/products/productId/tokens/token

    他们还添加了一个名为“acknowledgementState”的新字段,但这似乎没用。如果您完全使用它来查看您的购买是否已消费且有效,那么端点本质上是相同的。

    【讨论】:

    • AIDL 现已弃用,将在未来的版本中删除。应改为使用 Google Play 结算库
    【解决方案2】:

    开发者控制台的公告部分:


    从 2015 年 1 月 27 日开始,我们将停止对 In-app Billing Version 2 API 的支持。使用 In-app Billing Version 2 API 进行的应用内购买将被阻止。

    为帮助确保用户有时间更新他们的应用,我们建议您在 2014 年 11 月之前迁移应用以使用 In-app Billing Version 3 API。


    看来我们应该还要等到 11 月。

    【讨论】:

      【解决方案3】:

      Google 现在已发送电子邮件,表示是的,他们正在关闭 V2 应用内结算。我写了一篇博客文章讨论如何迁移(这更像是重写而不是迁移)。

      http://www.innodroid.com/blog/post/migrating-from-in-app-billing-v2-to-v3

      希望这可以帮助其他人。 V3 完全不同(尽管在我看来更容易理解和维护)。

      【讨论】:

        【解决方案4】:

        这与应用内结算版本 2 或您在应用中使用的内容无关。这是关于以前由 Google Checkout 提供的 Web 服务,这些服务已被弃用。除非您的应用程序直接访问这些 Web 服务,否则您无需在应用程序端执行任何操作。如果您有自己的 Web 应用程序(用于报告等)从 Google Checkout API 中提取数据,您必须更新它或停止使用它。

        【讨论】:

        • 我也有同样的问题:)。我想问一下如何检查我的应用程序是否直接使用来自 google checkout api 的网络服务?
        • 我想说明我正在使用 in-billing v3
        • 我的发现很好地放在了购买状态 API 页面的第一段中。 “该 API 旨在从您的后端服务器使用,作为一种安全地管理应用内产品和订阅的方式,以及将它们与其他服务进行扩展和集成。”我将它用作使记录过期的后备,以防正在处理的通知出现问题 onPurchaseStateChanged 记录到服务器。每天,应该在“昨天”过期的记录都会被 Checkout API 退回,所以我更新为使用 Purchase Status API。
        • JustME,您可以在您的项目中搜索文本“checkout.google.com/api/checkout”。如果它在那里,你可能正在使用它
        猜你喜欢
        • 1970-01-01
        • 2017-04-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多