我想在用户购买耗材虚拟货币项时禁用应用中的广告。有没有检查之前是否购买过消耗品 - 从文档中看,购买状态一旦被消费就被设置为无主。
根据文档,你是对的 - getPurchases()只会返回未消费的购买。
解决这个问题的方法是在购买的每件商品的SharedPreferences中存储一个布尔值。读取值时,将默认值设置为false。
SharedPreferences myPrefs = getSharedPreferences(MY_SHARED_PREFS, Context.MODE_PRIVATE);
boolean isPurchased = myPrefs.getBoolean(PURCHASED_ITEM_001, false);
使用queryPurchaseHistoryAsync(...)
返回用户为每个SKU进行的最新购买,即使该购买已过期,取消或已消费。
并检查响应中的任何Purchase.sku
是否与您关注的项目的SKU相匹配。