如何在Google Play结算中获取我所有inapp项目的SKU详细信息

问题描述 投票:0回答:1

在旧版本的App Biling中,我需要使用以下代码来获取IAP商品价格。

我无法在新版本中找到解决方法。请协助我在“ Google Play结算”中获取我所有inapp物品的SKU详细信息]

    ArrayList<String> skuList = new ArrayList<String>();
    Collections.addAll(skuList, SKU_GEM);
    Collections.addAll(skuList, SKU_COMBO);
    Collections.addAll(skuList, SKU_SALE);

    for(String s : skuList){ 
       Log.d("IabHelper", "skuList from list : " + s);
    }

    String[][] itemPrice = new String[3][]; 

    itemPrice[0]=new String[SKU_GEM.length]; 
    itemPrice[1]=new String[SKU_COMBO.length];
    itemPrice[2]=new String[SKU_SALE.length];

    Bundle querySkus = new Bundle();
    querySkus.putStringArrayList("ITEM_ID_LIST", skuList);

    Bundle skuDetails = mService.getSkuDetails(3,packageName, "inapp", querySkus); 

     if (response == 0) {
        ArrayList<String> responseList = skuDetails.getStringArrayList("DETAILS_LIST");
        Log.d("IabHelper", "responseList  : " + responseList);
        for (String thisResponse : responseList) {
            JSONObject object = new JSONObject(thisResponse);
            String sku = object.getString("productId");
            String price = object.getString("price");

            for (int i = 0; i < SKU_GEM.length; i++) {
                if(sku.contains(SKU_GEM[i])) {
                    itemPrice[0][i]=price;
                    Log.d("IabHelper", "Price of " + SKU_GEM[i] + " " + "itemPrice[0][" + i + "]" + " : " + price);
                    break;
                }
            }

            for (int i = 0; i < SKU_COMBO.length; i++) {
                if(sku.contains(SKU_COMBO[i])) {
                    itemPrice[1][i]=price;
                    Log.d("IabHelper", "Price of " + SKU_COMBO[i] + " " + "itemPrice[1][" + i + "]" + " : " + price);
                    break;
                }
            }

            for (int i = 0; i < SKU_SALE.length; i++) {
                if(sku.contains(SKU_SALE[i])) {
                    itemPrice[2][i]=price;
                    Log.d("IabHelper", "Price of " + SKU_COMBO[i] + " " + "itemPrice[2][" + i + "]" + " : " + price);
                    break;
                }
            }


        }
android android-studio in-app-billing in-app-subscription android-inapp-purchase
1个回答
0
投票

尝试使用此代码:

val params = SkuDetailsParams.newBuilder()
                .setSkusList(/* skuList */)
                .setType(/* skuType */)
BillingClient.querySkuDetailsAsync(params.build(), listener)

或者看一下querySkuDetailsAsync方法的文档

© www.soinside.com 2019 - 2024. All rights reserved.