订阅升级到inapp产品
subscription upgrade to inapp product
在我的项目中,很少有用户已经购买了订阅产品,而且他们每年都在付费。我们想为他们提供一次性升级(应用内购买)优惠。
当我参考 android 文档时,它说我们可以从一个订阅计划更改为另一个订阅计划(意味着从 "yearly plan" 更改为 "monthly plan"。但是这可能吗从订阅更改为 inapp?如果我这样做,Google play 会根据订阅中的剩余金额向用户收费吗?
编辑:
我正在使用 IABhelper v3 版本的支付库。这不支持将 "subscription" 产品升级到 "inapp" 产品。当我尝试这样做时,出现以下错误。
我强烈推荐 android-inapp-billing-v3 库 GitHub。你可以像下面这样使用这个库轻松地做到这一点。
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");
不,您不能更改购买类型。
升级或降级只能在不同的订阅周期之间进行,因为GooglePlay Store会在两种订阅类型之间切换。
该过程在 Subscription Upgrade/Downgrade 部分进行了解释:
the active subscription is canceled and a new subscription is created.
并且推荐使用Play Billing Library to integrate the Android In-App billing into your app. The upgrade should be done using the launchBillingFlow()方法,将参数设置到BillinFlowParams对象中,使用addOldSku()方法设置要替换的订阅,setSku()方法设置新的目标订阅:
BillingFlowParams.Builder builder = BillingFlowParams.newBuilder()
.setSku(newSubsSkuId)
.addOldSku(oldSubsSKUId)
.setType(SkuType.SUBS);
int responseCode = mBillingClient.launchBillingFlow(builder.build());
如果您想保证为您的用户提供永久功能,而不是更改为应用内产品,您可以创建一个 promo code 来提供给这些用户,然后在他们使用促销后取消订阅代码。
在我的项目中,很少有用户已经购买了订阅产品,而且他们每年都在付费。我们想为他们提供一次性升级(应用内购买)优惠。
当我参考 android 文档时,它说我们可以从一个订阅计划更改为另一个订阅计划(意味着从 "yearly plan" 更改为 "monthly plan"。但是这可能吗从订阅更改为 inapp?如果我这样做,Google play 会根据订阅中的剩余金额向用户收费吗?
编辑: 我正在使用 IABhelper v3 版本的支付库。这不支持将 "subscription" 产品升级到 "inapp" 产品。当我尝试这样做时,出现以下错误。
我强烈推荐 android-inapp-billing-v3 库 GitHub。你可以像下面这样使用这个库轻松地做到这一点。
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");
不,您不能更改购买类型。
升级或降级只能在不同的订阅周期之间进行,因为GooglePlay Store会在两种订阅类型之间切换。 该过程在 Subscription Upgrade/Downgrade 部分进行了解释:
the active subscription is canceled and a new subscription is created.
并且推荐使用Play Billing Library to integrate the Android In-App billing into your app. The upgrade should be done using the launchBillingFlow()方法,将参数设置到BillinFlowParams对象中,使用addOldSku()方法设置要替换的订阅,setSku()方法设置新的目标订阅:
BillingFlowParams.Builder builder = BillingFlowParams.newBuilder()
.setSku(newSubsSkuId)
.addOldSku(oldSubsSKUId)
.setType(SkuType.SUBS);
int responseCode = mBillingClient.launchBillingFlow(builder.build());
如果您想保证为您的用户提供永久功能,而不是更改为应用内产品,您可以创建一个 promo code 来提供给这些用户,然后在他们使用促销后取消订阅代码。