2011-05-06 66 views

回答

13

现在可以使用Billing API v3。您可以通过getSkuDetails()方法获取信息。例子是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; 
     } 
    } 
} 
+3

非常感谢你的帖子,它的工作原理!但是我有一个问题:getSkuDetails()返回本地货币还是开发者的默认价格集合,这是美元?在我看来,无论我的系统和Google Play帐户是否为法国,它都只返回美元。你知道这将被记录在哪里吗?我似乎无法为此找到足够的文档。 – sammiwei 2013-04-03 00:29:38

+0

@sammiwei对不起,我不知道。 – 2013-04-03 07:38:02

+0

'price_currency_code'在skuDetails包中给出货币 – 2017-01-24 23:51:35

相关问题