android - 订阅升级到inapp产品

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

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

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

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

enter image description here

最佳答案

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

升级或降级只能在不同的订阅周期之间进行,因为 Google Play Store 会在两种类型的订阅之间切换。 在 Subscription Upgrade/Downgrade 上解释了该过程部分:

the active subscription is canceled and a new subscription is created.

我们建议您使用 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提供给这些用户,然后在他们使用促销代码后取消订阅。

关于android - 订阅升级到inapp产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48275797/

相关文章:

android - 在不支持谷歌支付系统的土耳其,paypal 是否合法用于获取 android 应用程序的付款?

iPhone Lite 到付费应用程序

ios - Swift 应用内购买

android - 应用内购买 : "native" and 3rd party allowed simultaneously?

android - 如何以编程方式将图像或视频发送到android中的whatsapp状态?

android - 生成签名 APK : Errors while building APK Android Studio

android - 如何使用Google Play应用内结算购买多个商品

c# - Xamarin keystore 丢失

java - 在创建 CardView 并将其放入 RecyclerView 后访问 CardView 中的项目

android - 在Android Studio中隐藏 "Soft Touch"区域