24

アプリ内購入のAndroidマーケットフロントエンドを実際に表示する前に、アプリ内課金アイテムの価格を取得するにはどうすればよいですか?現在、ユーザーは購入ダイアログでアプリ内アイテムの価格しか確認できないようです。サポートされているすべての通貨の価格をアプリケーションに保存することは避けたいと思います。

4

4 に答える 4

17

Trivial Drive の例を使用していて、IabHelper クラスが含まれている場合は、sku のリストを queryInventoryAsync に渡す必要があります。

    String[] moreSkus = {"SKU_ITEMONE", "SKU_ITEMTWO"};
    mHelper.queryInventoryAsync(true, Arrays.asList(moreSkus), mGotInventoryListener);
于 2013-03-12T20:34:53.043 に答える
17

Billing API v3 で可能になりました。getSkuDetails()メソッドで情報を取得できます。例はこちらです。

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;
        }
    }
}
于 2011-06-05T07:51:28.813 に答える
3
String price = inventory.getSkuDetails("sku_of_your_product").getPrice();
于 2014-08-27T15:35:32.830 に答える