订阅升级到 inapp 产品
Posted
技术标签:
【中文标题】订阅升级到 inapp 产品【英文标题】:subscription upgrade to inapp product 【发布时间】:2018-06-24 20:09:33 【问题描述】:在我的项目中,很少有用户已经购买了订阅产品并且他们每年都在付费。我们想为他们提供一次性升级(应用内购买)优惠。
当我参考android文档时,它说我们可以从一个订阅计划更改为另一个(意味着从“年度计划”更改为“月度计划”。但是可以从订阅更改为inapp吗?和如果我这样做了,Google play 是否会根据订阅的剩余金额向用户收费?
编辑: 我正在使用支付库的 IABhelper v3 版本。这不支持将“订阅”产品升级为“inapp”产品。当我尝试这样做时,我得到了以下错误。
【问题讨论】:
【参考方案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不可能升级/降级两种不同的产品类型。正如我在回答中提到的那样,我还添加了关于您可以做什么的建议。以上是关于订阅升级到 inapp 产品的主要内容,如果未能解决你的问题,请参考以下文章
在 iTunes 中提交带有新应用的 InApp 产品以供审核
Apple 订阅或应用内购买在商店版本中不起作用 - 应用内产品详细信息未显示或获取
使用Google Play计费库和系统会在3天之内退还Inapp产品的退款