)
我正在尝试在我的应用中实现应用内计费。在 Google Play 开发者控制台中,我声明了一个托管项目。购买这个项目真的很好。但是现在,当我在谷歌钱包商家中心退款或取消购买时,我的应用程序需要很长时间(更多天)才能识别出该项目不再拥有。
我已经阅读了很多关于这个问题的其他文章,并认为一个合乎逻辑的解释是购买保存在 Google Play 商店的缓存中。虽然我知道这个问题以前经常被问到,但我在这里再次问:
当购买不再拥有时,是否可以清除缓存或有人知道如何告诉我的应用程序?
我很感谢任何提示,这有助于我解决这个问题:D
另外,我询问的代码是否已购买。我正在使用应用内计费 v3。
public boolean hasUserBoughtItem() {
try {
Bundle ownedItems = mService.getPurchases(mUsedAPI, mContext.getPackageName(),
mPurchaseType, null);
int response = ownedItems.getInt("RESPONSE_CODE");
if(response == 0) {
ArrayList<String> ownedSkus = ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
if(!ownedSkus.isEmpty()) {
for(String sku : ownedSkus) {
if(sku.equals(Constants.ITEM_ID_ALL_RECIPES)) {
return true;
}
}
}
return false;
}
} catch(Exception e) {
e.printStackTrace();
}
return false;
}