2011-05-06 23 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

相關問題