How to query (price) information for multiple in-app products at once?

前端 未结 2 1702
灰色年华
灰色年华 2021-02-02 11:48

In Android in app billing is it possible to somehow query (price) information for all products using one query? Optimally you could pass in the product IDs and it would return i

2条回答
  •  攒了一身酷
    2021-02-02 12:38

    It is possible now with Billing API v3. You can get information with getSkuDetails() method. Example is here.

    ArrayList skuList = new ArrayList();
    skuList.add("premiumUpgrade"); 
    skuList.add("gas");
    Bundle querySkus = new Bundle();
    querySkus.putStringArrayList("ITEM_ID_LIST", skuList);
    
    Bundle skuDetails = mService.getSkuDetails(3, getPackageName(), "inapp", querySkus);
    
    int response = skuDetails.getInt("RESPONSE_CODE");
    if (response == 0) {
        ArrayList responseList = skuDetails.getStringArrayList("DETAILS_LIST");
    
        for (String thisResponse : responseList) {
            JSONObject object = new JSONObject(thisResponse);
            String sku = object.getString("productId");
            String price = object.getString("price");
            if (sku.equals("premiumUpgrade")) {
                mPremiumUpgradePrice = price;
            } else if (sku.equals("gas")) { 
                mGasPrice = price;
            }
        }
    }
    

提交回复
热议问题