1

我正在为 IAP 使用 Google Play 计费库。它工作正常,除了价格查询。

这是查询库存时返回的 JSON 的样子(从 logcat 检索的日志):

Got sku details: 
SkuDetails:{
"title":"Remove ads",
"price":"1,10┬áÔé¼",
"type":"inapp",
"description":"No more ads",
"price_amount_micros":890000,
"price_currency_code":"EUR",
"productId":"remove_ads"
}

当我getPrice()用来检索本地化价格时,它看起来像这样:1,10┬á?

我像这样初始化了iap助手onCreate()

iap_helper = new IabHelper(this, app_key);
iap_helper.enableDebugLogging(true);
iap_helper.startSetup(this);

然后onIabSetupFinished我打电话

iap_helper.queryInventoryAsync(this);
4

1 回答 1

0

检查下面的链接,它对我有用:

http://developer.android.com/training/in-app-billing/list-iab-products.html#QueryDetails

您在请求库存时没有传递您的产品 ID。我认为如果您在请求库存时没有通过 sku_product 因为没有得到特定产品的响应,它会给出随机价格。

列出附加SkuList = new List(); // 你可以使用数组列表而不是确定它是否工作。

附加SkuList.add(SKU_APPLE);
附加SkuList.add(SKU_BANANA);

iap_helper.queryInventoryAsync(true, additionalSkuList,
mQueryFinishedListener);

    IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {

    public void onQueryInventoryFinished(IabResult result, Inventory inventory)       {

          if (result.isFailure()) {
             // handle error
             return;
           }

           String applePrice =
              inventory.getSkuDetails(SKU_APPLE).getPrice();
           String bananaPrice =
              inventory.getSkuDetails(SKU_BANANA).getPrice();

           // update the UI   
      }

    }

希望它能解决你的问题。

于 2013-10-17T14:04:55.800 回答