如何从Google Play结算中获取购买状态?

时间:2019-04-22 07:50:18

标签: in-app-billing android-billing play-billing-library

我在使用Google Play结算时遇到了问题。我有一个包含应用内购买功能的android应用。我维持SharedPreference来购买应用程序状态。如果Google表示购买状态为成功,那么我购买应用程序时保持布尔值。
问题场景:我是XYZ应用程序的新用户,我已经购买了高级版。付款成功后,该应用将切换到高级版本。同时,我转到Google Play帐户并取消订单。开发者退还价格为0,作为新用户,我无需付费即可获得高级版本。

问。如何处理Google Play计费的SKU的购买状态?

2 个答案:

答案 0 :(得分:0)

您应该始终执行queryPurchases(通过Billing Library)或getPurchases(通过AIDL)来查找未完成的购买。仅当您发现用户购买了高级内容后,才能解锁高级内容。

答案 1 :(得分:0)

迟到的答案,但我认为策略是在宽限期后重新检查购买状态。例如,您可以在切换到高级版本时保存当前时间。 7 天后(或您想要的任何退款窗口),再次检查购买状态,如果结果为否定,则移除高级功能。

编辑:这是另一个详细且相关的答案https://stackoverflow.com/a/34005001/4613031