IabHelper queryInventory()返回产品的基本价格

时间:2017-02-01 08:41:48

标签: android in-app-purchase payment

就我而言,我在PlayStore上有应用内商品,并为不同国家设置不同的价格。接下来,每当我使用IabHelper.queryInventory()获取产品时,产品的价格是基本价格而不是特定国家/地区。

基价为12.99欧元,我国的价格为9.99欧元。 IabHelper.queryInventory()返回响应,价格为12.99欧元。但是当我购买并从PlayStore看到对话框时,它显示实际价格为9.99欧元。

在IabHelper中是一个问题还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

似乎只在某些国家/地区提供了应用内结算不同价格:https://support.google.com/googleplay/android-developer/answer/1169947?hl=en

  

如果您位于支持merchant registration的位置,请与您联系   可以通过Google Play以多种货​​币提供应用   开发者控制台。

您可以查询Google Play以编程方式检索与您的应用相关联的应用内商品的详细信息

设置queryInventoryAsync

  mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener);

从结果集中检索商品价格

 IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
 public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
     if (result.isFailure()) {
        // handle error
        return;
      }

     String firstItemPrice= inventory.getSkuDetails(YOUR_SKU_ONE).getPrice();
     String NthItemPrice = inventory.getSkuDetails(YOUR_SKU_N).getPrice();

   // update the UI
  }
}

查看此参考以获取更多详细信息。 https://developer.android.com/training/in-app-billing/list-iab-products.html#QueryDetails

getSkuDetails()方法。

此方法返回产品ID列表的产品详细信息。在Google Play发送的响应包中,查询结果存储在映射到DETAILS_LIST键的String ArrayList中。详细信息列表中的每个字符串都包含JSON格式的单个产品的产品详细信息。查看this API reference了解详情