您正在使用新的Play结算库进行应用订阅。 https://developer.android.com/google/play/billing/billing_library.html
Everthing工作完美,能够订阅产品。但我没有找到任何方法来检查订购的购买状态。我的意思是它是活跃的还是过期的。
在文档中说:您可以在Purchase对象上调用各种方法来查看有关该项目的相关信息,例如其购买状态或时间。
但是购买对象中没有购买状态方法,请查看下面的链接 https://developer.android.com/reference/com/android/billingclient/api/Purchase.html
看一下这个视频: https://www.youtube.com/watch?v=9chvh1WYCvw&feature=youtu.be&t=301
如何检查购买状态?
答案 0 :(得分:4)
这是一个古老的问题,您可能已经解决了。我刚刚开始使用新库,但我有同样的问题。我认为您必须使用Purchase类的Javadoc:
isAutoRenewing()
对于任何已取消的订阅,这将返回false。对于处于活动状态或处于宽限期内的任何订阅,它返回true。
只是对此的更新。如果订阅已取消且尚未过期,则无法使用此功能。
我发现上述评论员似乎意见不一致,这很奇怪。进一步的调查表明,两个不同的购买查询给出了不同的结果-javadoc似乎不太清楚。
queryPurchaseHistoryAsync(BillingClient.SkuType.SUBS, listener)
正如其javadoc所解释的,将返回所有内容-包括所有过期的订阅。使用此方法似乎没有办法区分活动订阅和非活动订阅。这将返回当前在Google服务器上的历史记录。
queryPurchases(BillingClient.SkuType.SUBS)
仅返回当前的活动订阅。它将立即返回缓存的结果。
答案 1 :(得分:3)
订阅到期后,它将不再出现在“购买”列表中。 Some documentation