如何使用Play Billing Library手动续订订阅?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用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,但它也没有帮助。

答案

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

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

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

请在下面链接中查看有关应用内更多详细信息:

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

另一答案

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

在最新版本的应用内结算中,

  • 用户可以手动扩展现有订阅。订阅会延长适当的时间。
  • 用户可以在订阅处于活动状态时升级或降级订阅。旧订阅被取消,未使用的部分按比例应用于新订阅。

Read the version note

以上是关于如何使用Play Billing Library手动续订订阅?的主要内容,如果未能解决你的问题,请参考以下文章

如何在android中确认应用内购买?

如何在App Starts - Play Billing 1.0中查询用户购买

Google play billing API:如何了解用户是不是订阅?

Flutter,Android,如何升级到Billing Library 3版?

Google play billing(Google play 内支付)

Google Play In-app billing 版本 3 购买的服务器端验证