如何使用“播放结算库”手动续订订阅?

时间:2017-12-11 16:17:34

标签: android google-play play-billing-library

我在Android应用中使用Play Billing Library v1.0进行应用内结算支持,并希望用户在其有效期间手动更新订阅 期限将其延长适当的期限。

当用户可以通过折扣扩展订阅时,它可以用于不同的销售(黑色星期五,新年等)。

根据官方documentation,这种行为确实可以实现。 但是我找不到如何实现它的信息。

我使用以下标准代码购买订阅:

BillingFlowParams.Builder builder = BillingFlowParams.newBuilder()
        .setSku(skuId).setType(SkuType.SUBS);
int responseCode = mBillingClient.launchBillingFlow(activity, builder.build());

如果我再次尝试购买相同的订阅,

"您已经订阅了XXXXX [确定]"

出现

错误消息。

我还尝试使用.addOldSku()构建器方法并在此处传递相同的sku,但它也没有帮助。

2 个答案:

答案 0 :(得分:2)

借助应用内结算API,即使订阅未设置为自动续订,用户也可以在其有效期内续订订阅。如果用户在订阅处于活动状态时购买订阅,则会以当前费率将其延长适当的期限。

例如,Achilles订阅了Modern Hoplite应用程序。他的订阅目前将于8月1日到期。7月10日,他以当前费率购买了1个月的订阅。这一个月已添加到他现有的订阅中,因此订阅现在将于9月1日到期。

应用程序通过适当的UI传达此信息。例如,如果用户没有有效订阅,则应用可能有购买按钮,但如果用户有订阅,则该按钮可能会说续订。

请查看有关应用内更多详情,请参阅以下链接:

https://developer.android.com/google/play/billing/billing_subscriptions.html

答案 1 :(得分:1)

请升级Play Billing Library v1.0 Play Billing Library v5

在最新版本的In-app Billing中,

  • 用户可以手动扩展现有订阅。订阅 延长了适当的时间。

  • 用户可以升级或 在订阅处于活动状态时降级订阅。旧的订阅是 取消,未使用的部分按比例应用 新订阅。

Read the version note