- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
您好,我正在使用新的 Play Billing Library 进行应用内订阅。 https://developer.android.com/google/play/billing/billing_library.html
一切都很完美,我可以订阅该产品。但是我没有找到任何方法来检查订阅的购买状态。我的意思是它是有效的还是过期的。
在文档中它说:然后您可以在 Purchase 对象上调用各种方法来查看有关该项目的相关信息,例如其购买状态或时间。
但是Purchase Object中没有purchase state方法,查看下面的链接 https://developer.android.com/reference/com/android/billingclient/api/Purchase.html
也看看这个视频: https://www.youtube.com/watch?v=9chvh1WYCvw&feature=youtu.be&t=301
如何查看购买状态?
最佳答案
这是一个老问题,你可能已经解决了。我刚开始使用新库,我也有同样的问题。阅读 Purchase 类的 javadoc 我认为你必须使用:
isAutoRenewing()
对于任何已取消的订阅,这将返回 false。对于任何处于 Activity 状态或处于宽限期内的订阅,它都会返回 true。
只是对此的更新。这在订阅已取消且尚未过期的情况下不起作用。
我觉得很奇怪,上面的评论员似乎意见不一。进一步的调查表明,两个不同的购买查询给出了不同的结果 - javadoc 似乎没有说清楚。
queryPurchaseHistoryAsync(BillingClient.SkuType.SUBS, listener)
将如其 javadoc 所解释的那样,返回所有内容——包括所有过期的订阅。使用它似乎没有办法区分 Activity 和非 Activity 订阅。这会返回当前在 Google 服务器上的历史记录。
queryPurchases(BillingClient.SkuType.SUBS)
仅返回当前的 Activity 订阅。它会立即返回缓存的结果。
关于android - 如何在所有新的 Play Billing Library 中查看订阅的购买状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041120/
我是一名优秀的程序员,十分优秀!