billingClient.queryPurchases返回已经取消的子目录的列表

yar*_*lav 9 android google-play play-billing-library

重现的步骤(测试帐户):

  1. 在应用程序中完成订阅过程
  2. 在Play商店应用程序中取消订阅并等到结束完成(对于每月测试订阅,写作日期为5分钟)

预计:订阅不再在billingClient列表中.queryPurchases(SUB_SKU_TYPE)返回

实际:订阅仍在列表中的billingClient.queryPurchases(SUB_SKU_TYPE)返回(即使在约1小时后)

报告错误:https://github.com/googlesamples/android-play-billing/issues/122

正如文档中所述,queryPurchases可以在不进行任何网络调用的情况下使用缓存,这可能是导致此问题的原因.queryPurchaseHistoryAsync可能是一个不错的选择,但Purchase类没有实际购买的状态(即SUBSCRIBED,CANCELLED等).

是否有任何选项可以使用Play Billing Lib解决此问题,或者是否需要使用旧的In-App Billing Api进行直接网络呼叫?