【问题标题】:subscription upgrade to inapp product订阅升级到 inapp 产品
【发布时间】:2018-06-24 20:09:33
【问题描述】:

在我的项目中,很少有用户已经购买了订阅产品并且他们每年都在付费。我们想为他们提供一次性升级(应用内购买)优惠。

当我参考android文档时,它说我们可以从一个订阅计划更改为另一个(意味着从“年度计划”更改为“月度计划”。但是可以从订阅更改为inapp吗?和如果我这样做了,Google play 是否会根据订阅的剩余金额向用户收费?

编辑: 我正在使用支付库的 IABhelper v3 版本。这不支持将“订阅”产品升级为“inapp”产品。当我尝试这样做时,我得到了以下错误。

【问题讨论】:

    标签: android google-play in-app-purchase subscription


    【解决方案1】:

    不,您不能更改购买类型。

    升级或降级只能在不同的订阅周期间隔之间进行,因为 Google Play 商店会在两种订阅类型之间发生变化。 该过程在Subscription Upgrade/Downgrade部分进行了解释:

    活动订阅被取消并创建新订阅。

    我们建议您使用Play Billing Library 将 Android 应用内结算集成到您的应用中。升级应该使用launchBillingFlow()方法完成,将参数设置到BillinFlowParams对象中,使用addOldSku()方法设置要替换的订阅,使用setSku()方法设置目标新订阅:

    BillingFlowParams.Builder builder = BillingFlowParams.newBuilder()
            .setSku(newSubsSkuId)
            .addOldSku(oldSubsSKUId)
            .setType(SkuType.SUBS);
    int responseCode = mBillingClient.launchBillingFlow(builder.build());
    

    如果您想保证为您的用户提供永久功能,而不是更改为应用内产品,您可以创建一个 promo code 以提供给这些用户,然后在他们使用促销代码后取消订阅。

    【讨论】:

    • 是的,这就是我们最终要做的。我们已要求用户购买“inapp”产品并要求他们取消订阅续订。但用户并不满意,因为他们被要求在下一次到期前付款。
    【解决方案2】:

    我强烈推荐 GitHub 上的 android-inapp-billing-v3 库。您可以使用下面的这个库轻松完成。

    BillingProcessor bp = new BillingProcessor(this, "YOUR LICENSE KEY FROM GOOGLE PLAY CONSOLE HERE", this);    
    bp.subscribe(YOUR_ACTIVITY, "YOUR SUBSCRIPTION ID FROM GOOGLE PLAY CONSOLE HERE");
    

    【讨论】:

    • 我知道这个库,但是它支持从订阅升级到应用程序吗?
    • 是的。我也有同样的东西,我用过。 github.com/anjlab/android-inapp-billing-v3/issues/234
    • 不,Google 似乎支持从一种“订阅”产品升级到另一种“订阅”产品。他们不支持从一种“订阅”产品升级到另一种“inapp”产品。我收到以下错误“我们无法更改您的订阅计划”
    • 谷歌支持升级和降级订阅。文档说“用户可以在订阅期间升级或降级订阅。旧订阅的成本按比例计算,未使用的部分应用于替换订阅。”。您可以从此链接查看。 developer.android.com/google/play/billing/…
    • @gencaysahinn不可能升级/降级两种不同的产品类型。正如我在回答中提到的那样,我还添加了关于您可以做什么的建议。
    猜你喜欢
    • 2017-06-18
    • 2021-01-25
    • 2012-01-06
    • 2020-12-13
    • 2011-08-12
    • 2015-09-03
    • 2015-05-19
    • 2019-12-09
    相关资源
    最近更新 更多