【问题标题】:Android InApp Billing v3 - testing with multiple devices issueAndroid InApp Billing v3 - 多设备测试问题
【发布时间】:2014-11-10 08:01:09
【问题描述】:

我在 Android InApp 计费 v3 上遇到了一个问题。我在 Playstore 中创建了一个托管的应用内产品,我需要从多个设备多次购买。为此,我正在两种不同的设备上测试该应用程序。我没有在本地服务器上保留任何购买数据。因此,每当我需要再次购买该商品时,我都会查询该商品以获取购买状态,并基于此,如果该商品已购买,我将使用该商品并再次调用购买功能。我在下面详细说明我的错误场景

  1. 第一台设备上,我已完成付款并获得了成功的结果。
  2. 如果我在同一台设备上查询购买详情,它会提供准确的信息。
  3. 如果我在第二台设备上查询,同时。它给出了inventory.hasPurchase(sku)falseinventory.getPurchase(sku)null

在谷歌搜索时,我发现这与 Google Playstore 缓存有关。之后,手动清除缓存,我得到了预期的结果。任何人都可以指导我解决上述问题。

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

            if (result.isFailure()) {
                invokePurchaseError(ResponseCode.FAILED_TO_QUERY_INVENTORY, result.toString());

            }
            else{

                if(mActionCode == RC_REQUEST_FOR_QUERYING){
                    boolean mIsPurchased = false;
                    Log.e("hasPurchase",  inventory.hasPurchase(mSku)+"");
                    Log.e("getPurchase",  inventory.getPurchase(mSku)+"");

                    if( inventory.hasPurchase(mSku)){
                        mPurchaseStatus = inventory.getPurchase(mSku);
                        mIsPurchased = (mPurchaseStatus != null && verifyDeveloperPayload(mPurchaseStatus));
                        if(mPurchaseStatus!=null){
                            mPurchaseStatus.getOriginalJson());
                        }
                        else{
                            //Not purchased
                        }

                    }

                }
        }
    };

【问题讨论】:

  • 您找到解决方案了吗?
  • 同样的问题,有解决办法吗?

标签: android in-app-purchase in-app-billing


【解决方案1】:

我遇到了同样的问题:在第一台设备上购买了托管项目,但第二台和第三台似乎并不“知道”它。对我来说,解决方案很简单,尽管: 作为第一步,我清除了所有相关设备上的 PlayStore 缓存(虽然不确定是否有必要..) 其次,我在第一台设备上再次购买了该商品,但其他设备似乎再次无法获取信息。我给了整个“系统”一些时间(大约 10 到 15 分钟)并对设备 2 和 3 进行了重新检查。而且 - 哦,真奇怪! - 他们终于得到了正确的hasPurchase = true 信息。

【讨论】:

    猜你喜欢
    • 2018-12-30
    • 2021-09-23
    • 1970-01-01
    • 2013-06-19
    • 2021-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多