Android IABv3 getSkuDetails未返回Sku详细信息
我目前正在与Android Iab v3进行斗争 我以前使用过Google的IabHelper类来成功地显示可用的产品。然而,今天它不再归还我任何东西 传递给IabHelper类中IInAppBillingService的getSkuDetails函数的querySku字段的内容为: Bundle[{ITEM_ID_LIST=[com.app.android.credits.10, com.app.android.credits.25,com.app.android.credits.50]}] 我从它返回的包中得到的是: Bundle[{DETAILS\u LIST=[],RESPONSE\u CODE=0}] 从它开始工作到现在,我根本没有改变IABHeloper代码以及显示产品的代码。代码的重要部分是:Android IABv3 getSkuDetails未返回Sku详细信息,android,android-billing,Android,Android Billing,我目前正在与Android Iab v3进行斗争 我以前使用过Google的IabHelper类来成功地显示可用的产品。然而,今天它不再归还我任何东西 传递给IabHelper类中IInAppBillingService的getSkuDetails函数的querySku字段的内容为: Bundle[{ITEM_ID_LIST=[com.app.android.credits.10, com.app.android.credits.25,com.app.android.credits.50]}]
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
}
}
private void getItemsForSale()
{
ArrayList skuList=新的ArrayList();
添加(getResources().getString(R.string.ten_credits\u product\u id));
添加(getResources().getString(R.string.two_credits\u product\u id));
添加(getResources().getString(R.string.woven_credits\u product\u id));
mHelper.queryInventoryAsync(true,skuList,this);
}
@凌驾
查询库存完成时的公共作废(IAB结果、库存库存)
{
if(result.isFailure())
{
Log.d(“调试”,“错误清单查询:+结果”);
AppMsg.makeText(BuyCreditsActivity.this,R.string.sorry\u某事出错,AppMsg.STYLE\u ALERT.show();
}
其他的
{
//此处的代码查询返回的具有空数组的inv对象
}
}
这就是为什么我如此困惑
有没有人知道是什么外部因素导致它开始不返回任何产品详细信息的?从昨天开始,我收到了相同的空包。这个问题不是同一件事,但最近有人问过,而且似乎有关联:
(大约两周前我也经历过这一次) 第一个答复指出: “他们说他们已经做了一些更改,要求在添加应用内购买之前发布apk。他们建议将apk上传到alpha测试频道并发布(不是在草稿模式下)。” 我会试试这个,也许它能解决问题
更新:我发布了该应用程序,但开发者控制台写道修改不会立即生效。几个小时后问题就出现了,但今天它运行良好。我也遇到了同样的问题。就我而言,以下几点起了作用:
希望这有帮助 我正在经历完全相同的事情。它过去有用,现在不行了,我也没有改变任何与iab有关的事情。我确实升级了我的adt包,但IInAppBillingService.aidl没有更改。此问题仅适用于三星。这是否意味着您将无法在调试模式下测试应用内购买?Sku详细信息仅在您从Play Store(选择加入URL)下载并安装应用程序时才会显示?您始终可以从android studio生成发布版本,并为您的构建类型版本设置
可调试的true
,并确保您的构建与上载到Play Store的版本完全相同