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

Ale*_*huk 9 android google-play play-billing-library

我在Android应用中使用Play Billing Library v1.0进行应用内结算支持,并希望允许用户在其有效期内手动续订订阅,以便在适当的时间段内对其进行延期.

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

根据官方文档,这种行为确实可以实现.但我没有找到如何实现它的信息.

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

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

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

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

出现错误消息.

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

Jyu*_*tel 2

通过应用内计费 API,即使订阅未设置为自动续订,用户也可以在活跃期内续订订阅。如果用户在订阅有效期间购买订阅,则会按当前费率延长适当的期限。

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

由应用程序通过适当的 UI 来传达这一点。例如,如果用户没有有效的订阅,则应用程序可能会有一个购买按钮,但如果用户有订阅,则该按钮可能会显示“续订”。

请参阅以下链接查看有关应用程序内的更多详细信息:

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