android – “你已经拥有了这个项目”但是getPurchases是空的

前端之家收集整理的这篇文章主要介绍了android – “你已经拥有了这个项目”但是getPurchases是空的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题与以下内容完全相同:> Android consumable: “already own that item” but inventory.hasPurchase() is false2个
我昨天购买了订阅(不是托管产品或非托管产品)进行测试,我退还了自己,然后取消了订阅.退款和取消后,当我致电:
m_billingService.getPurchases(3,m_context.getPackageName(),ITEM_TYPE_SUBS,null)

它将以购买状态0(有效/ ok)返回我的购买.今天,当我调用相同的方法时,它什么都不返回.然而,当我尝试购买该商品时,Google Play商店会回复我已经拥有该商品的商品.

我已经重新启动了Android设备,清除了谷歌播放服务缓存,并确保只在我的手机上激活测试帐户(即,我删除了我的谷歌开发者帐户).

之前已经问过这个问题,但总是在产品的背景下而不是订阅.这些帖子的答案似乎是“消费”产品;订阅不会被消费.

解决方法

我相当肯定你试图做的事情不可能像你想要做的那样.由于我不确定订阅长度,因此Google可能仍然是订阅的所有者,因为即使您发起退款,它仍会在剩余时间内保持有效状态.

这允许用户从购买中获得退款,但仍然可以接收服务.这将由应用程序所有者自行决定.如果您想要处理有效投诉的用户,并且允许他们保持访问权限,直到您可以解决他们的问题或投诉,这可能是一个很好的策略.它还可以帮助最小化评级不佳的影响.

为了做你想做的事,你需要撤销订阅,这将立即终止它.在此调用后,m_billingService.getPurchases()应该正常工作.

Documentation

猜你在找的Android相关文章