【问题标题】:Android IAP getBuyIntentToReplaceSkus is not canceling the old subscriptionAndroid IAP getBuyIntentToReplaceSkus 未取消旧订阅
【发布时间】:2015-10-22 22:25:45
【问题描述】:

我正在尝试在我的 Android 应用中实现升级/降级订阅。我相信我已经正确实现了一切,但是在我的测试过程中它似乎没有正确运行。

我的应用有三个选项:每月、3 个月和 6 个月订阅选项。当我订阅任何选项时,我会调用以下函数,其中“sku”是所购买商品的 sku,“oldSkus”是其他商品的 sku。

buyIntentBundle = mService.getBuyIntentToReplaceSkus(5,
          mContext.getPackageName(), oldSkus, sku, itemType, extraData);

当我订阅 3 个月选项时​​,它运行良好,并且该应用正确接收来自 Play 商店的 3 个月订阅购买。如果我尝试升级到 6 个月订阅,则会出现以下流程:

  1. 提示“更改订阅”对话框,提供我的“当前计划”和“新计划” -> 单击“继续”
  2. 概述了计划细节。点击 -> '订阅' -> '确认'
  3. 交易成功,购买数据返回到应用程序。
  4. 接收声称订阅的电子邮件已更新详细信息:
    • 之前的计划:3 - 个月:取消
    • 新计划:6 个月:立即生效
  5. 转到 Play 商店帐户并查看订阅
    • 3 个月计划 - 使用取消按钮订阅
    • 6 个月计划 - 使用取消按钮订阅
  6. 启动应用程序和观察者 getInventory 结果
    • 3 个月计划 - 用户已订阅
    • 6 个月计划 - 用户已订阅

据我所知,Play 商店未正确取消旧订阅。我希望这只会发生,因为我使用的是测试员帐户,并且测试订阅时发生的 $/day 会导致按比例评分出现一些问题。

更新:Google 已回复我的请求并通知我他们已将问题升级。当我收到其他回复时,我会再次更新。

【问题讨论】:

  • 我现在也在测试这个。我遇到了类似的行为。
  • 调用 Google Play Developer Api 正在返回应取消的订阅,但仍返回 autoRenewing = true。请注意:developer.android.com/google/play/billing/… 声明订阅已取消(根据developers.google.com/android-publisher/api-ref/purchases/… 取消(未撤销)订阅在订阅结束前有效,尽管在升级方案中没有多大意义)。希望谷歌对此提供一些意见。
  • 你有没有在生产环境中尝试过?
  • 此:developer.android.com/google/play/billing/billing_testing.html 声明:“重要提示:退款和撤销方法不支持测试购买。”也许这就是应用内​​计费沙盒不支持升级订阅的原因(旧的必须在内部撤消才能使升级过程有意义)。
  • 感谢您的所有意见@gswierczynski。我还没有尝试生产,但我正在与谷歌谈判,希望很快能得到一个可靠的答案。将不断更新此问题。

标签: android in-app-purchase


【解决方案1】:

我已经用真钱测试过了。 旧订阅被取消(我认为按照 Google Play 的理解方式撤销)。 升级后,旧订阅不再显示在 Google Play 应用的应用详情中 - 只有新订阅可见。

虽然我不确定如何通过 Google Play Developer API 调用识别它 - 如何识别这个旧订阅不再有效。 Purchases.subscriptions 资源上的 get 方法确实将 autoRenew 返回为 false(这很好),但仅仅认识到该订阅的功能不应再对用户可用是不够的,因为当用户取消订阅和用户取消订阅时也会发生同样的情况订阅这些功能在到期之前应该仍然可用。

不幸的是,get 调用返回的过期时间仍然具有相同的值 - 所以我不能使用它。

更新:Android 客户端上的 getPurchases 方法在升级后未返回旧订阅。我想知道是否有办法通过 Google Play Developer API 调用来识别它。

【讨论】:

  • 是否有可能获得增量价格?意思是假设用户为 A 计划支付 X,他希望升级到 B 计划,费用为 Y。所以我想告诉用户“您可以以 (Y-X) 价格升级到 B 计划”。
猜你喜欢
  • 2020-02-23
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 2015-06-30
  • 2020-10-03
  • 2016-02-20
  • 2018-10-26
  • 1970-01-01
相关资源
最近更新 更多