Android IABv3 getSkuDetails没有返回Sku详细信息

时间:2014-05-28 14:14:14

标签: android android-billing

我目前正在与Android Iab v3进行斗争。

我以前一直在使用Google的IabHelper类来显示成功的可用产品。但是,今天不再给我任何回报。

传递给IabHelper类中IInAppBillingService的getSkuDetails函数的querySku字段的内容是:

  

捆绑[{ITEM_ID_LIST = [com.app.android.credits.10,   com.app.android.credits.25,com.app.android.credits.50]}]

我在返回的包中得到的是:

  

捆绑[{DETAILS_LIST = [],RESPONSE_CODE = 0}]

从它工作的时间开始,现在我根本没有改变IabHelper代码以及显示产品的代码。代码的重要部分是:

private void getItemsForSale()
{
    ArrayList<String> skuList = new ArrayList<String>();
    skuList.add(getResources().getString(R.string.ten_credits_product_id));
    skuList.add(getResources().getString(R.string.twenty_credits_product_id));
    skuList.add(getResources().getString(R.string.fifty_credits_product_id));

    mHelper.queryInventoryAsync(true, skuList, this);
}

@Override
public void onQueryInventoryFinished(IabResult result, Inventory inv)
{
    if(result.isFailure())
    {
         Log.d("DEBUG", "Error Inventory Query: " + result);
         AppMsg.makeText(BuyCreditsActivity.this, R.string.sorry_something_went_wrong, AppMsg.STYLE_ALERT).show();  
    }
    else
    {
         // Code here queries the inv object returned which has a blank array
    }
}

这就是我很困惑的原因。

有没有人知道外部因素可能会导致开始没有返回任何产品细节?

2 个答案:

答案 0 :(得分:10)

我从昨天起就得到了同样的空包。这个问题不是一回事,但最近才被问到,似乎是相关的:Android inventory.getSkuDetails() returning null
(我在2周前也经历过这个)

第一个回答说明: “他们说他们已经进行了更改,需要在发布之前发布apk,他们建议将apk上传到alpha测试频道并发布(不是草稿模式)。”

我会尝试这个,也许它可以解决问题。

更新:我发布了应用,但开发者控制台写道,修改不会立即生效。几个小时后问题就存在了,但今天它运作良好。

答案 1 :(得分:5)

我有同样的问题。在我的情况下,以下工作:

  1. 确保它在alpha,beta或production中实际已发布。 例如,如果它出现在&#34; Alpha中的草稿&#34;或beta然后你 尚未发布。发布意味着您还需要上传 Google Play所需的最低资产,说明和内容 评级等(请参阅中的APK,商品详情和内容评级标签) 开发者控制台)。
  2. 至少对于alpha和beta测试,有一个测试人员列表 您必须创建并添加每个测试人员的电子邮件。寻找&#34;管理 测试器&#34; Alpha测试或Beta测试选项卡中的部分。
  3. 每个测试人员也必须接受成为测试人员。有一个选择加入的URL 您必须发送给测试人员的链接,他们必须单击 链接并接受条件。
  4. 完成所有这些后,您仍需要等待大约1小时 购买细节开始出现。
  5. 希望这有帮助!