我目前正在与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
}
}
这就是我很困惑的原因。
有没有人知道外部因素可能会导致开始没有返回任何产品细节?
答案 0 :(得分:10)
我从昨天起就得到了同样的空包。这个问题不是一回事,但最近才被问到,似乎是相关的:Android inventory.getSkuDetails() returning null
(我在2周前也经历过这个)
第一个回答说明: “他们说他们已经进行了更改,需要在发布之前发布apk,他们建议将apk上传到alpha测试频道并发布(不是草稿模式)。”
我会尝试这个,也许它可以解决问题。
更新:我发布了应用,但开发者控制台写道,修改不会立即生效。几个小时后问题就存在了,但今天它运作良好。
答案 1 :(得分:5)
我有同样的问题。在我的情况下,以下工作:
希望这有帮助!