【问题标题】:How do I defer a subscription in Android (Google Play Billing)?如何在 Android 中延迟订阅(Google Play 结算)?
【发布时间】:2020-01-27 05:07:48
【问题描述】:

我已经在 Android 中实现了应用内订阅,一切正常,我什至可以开始 30 天免费试用。

我在应用中有一个推荐功能,所以当数据库中的某个值达到 10(即 10 个推荐)时 - 我想为用户提供 30 天的免费订阅。

我环顾四周,并认为将订阅推迟所需数量是解决方案。但是,我不知道该怎么做。 api 文档似乎不是特定于 Android 的,我在任何地方都找不到合适的教程。非常感谢任何帮助。

已经尝试查看文档 - https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/defer

我是否只发出那里列出的 http 请求?我希望能打出一个不错的内置电话。

我只是希望:

当某个变量 == 10 时,推迟或增加订阅时长 30 天。

【问题讨论】:

    标签: android in-app-billing subscription


    【解决方案1】:

    干杯,伙计。

    目前this 是唯一的官方方式。您可能会尝试在 github 上找到一些第三方库,但我不会指望它。

    我建议您使用Retrofit 并自己创建此调用。

    也许在未来,Google 会将此方法作为默认方法包含在其计费库中 - 我们只需要等待)

    希望对你有帮助,伙计。

    【讨论】:

    • 看起来这确实是唯一的方法 - 谢谢你的回答。您是否知道是否可以获得有效的expiryTimeMillis 以在 api 调用中使用?看来我必须进行一次 API 调用才能首先获取此值,然后调用 POST 来推迟订阅,但这样做所花费的时间肯定会使 expiryTimeMillis 无效,因为它会有这个时候变了。请参阅文本“如果订阅的当前到期时间不是此处指定的值,则不会发生延期”。谢谢
    • 不——你的结论是基于错误的假设。 expiryTimeMillis - 不是订阅结束前的毫秒倒计时,它是应该结束的日期和时间表示。因此,Purchase.subscriptions 端点中的startTimeMillisexpiryTimeMillis 都是普通时间戳,它们不会随着时间而改变。当然,除非你改变它们。希望对你有帮助
    猜你喜欢
    • 1970-01-01
    • 2016-03-28
    • 2017-11-22
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2013-03-24
    • 2019-11-10
    • 1970-01-01
    相关资源
    最近更新 更多