gpt4 book ai didi

Android In-App-Billing 退款/取消需要很长时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:03 28 4
gpt4 key购买 nike

)

我正在尝试在我的应用中实现应用内结算。在 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;
}

最佳答案

IAP 购买 list 根本不会被 Play 商店缓存,应该在您的 Activity 中定期查询。传播订单取消只需要大约 15-30 分钟。

您是否按照 sample app 使用 IABHelper连接到 Google Play?

 IabHelper.QueryInventoryFinishedListener mGotInventoryListener 
= new IabHelper.QueryInventoryFinishedListener() {
public void onQueryInventoryFinished(IabResult result,
Inventory inventory) {

if (result.isFailure()) {
// handle error here
}
else {
// does the user have the premium upgrade?
mIsPremium = inventory.hasPurchase(SKU_PREMIUM);
// update UI accordingly
}
}
};

关于Android In-App-Billing 退款/取消需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227676/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com