2011-05-06 10 views
18

Uygulama içi faturalandırmada Android'de, bir sorgu kullanarak tüm ürünler için sorgulama (fiyat) bilgisi vermek mümkün müdür? En iyisi ürün kimliklerini geçebilir ve bunlar için bilgi verir.Birden çok uygulama içi ürün için nasıl (fiyat) bilgi sorgulanır?

Aradığım şey Android Market için SKProductsRequest eşdeğeri. http://developer.apple.com/library/ios/#documentation/StoreKit/Reference/SKProductsRequest/Reference/Reference.html#//apple_ref/occ/cl/SKProductsRequest

cevap

13

Artık Billing API v3 ile mümkündür. getSkuDetails() yöntemiyle bilgi alabilirsiniz. Örnek here'dur.

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

Bu yazı için çok teşekkürler, işe yarıyor! Ama bir sorum var: getSkuDetails() yerel para birimine veya geliştiricinin ABD doları cinsinden varsayılan fiyat setine geri dönüyor mu? Bana öyle geliyor ki, sistemimi ve google oyun hesabımı Fransa'ya koymamdan bağımsız olarak sadece ABD doları veriyor. Bunun nerede belgeleneceğini biliyor musun? Bunun için yeterli dokümanı bulamadım. – sammiwei

+0

@sammiwei Üzgünüz, bilmiyorum. –

+0

'price_currency_code', skuDetails paketindeki para birimini verir –

İlgili konular