Android IABv3 getSkuDetails未返回Sku详细信息

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]}]

我目前正在与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代码以及显示产品的代码。代码的重要部分是:

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测试频道并发布(不是在草稿模式下)。”

我会试试这个,也许它能解决问题


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

我也遇到了同样的问题。就我而言,以下几点起了作用:

  • 确保它是以alpha、beta或production的形式发布的。 例如,如果它显示为“Alpha草稿”或beta草稿,则 没有发表在。发布意味着您还需要上传 Google Play、说明和内容所需的最低资产 评级等(请参阅中的APK、商店列表和内容评级选项卡 开发人员控制台)
  • 至少对于alpha和beta测试,有一个测试人员列表 您必须创建并添加每个测试人员的电子邮件。寻找“管理” Alpha测试或Beta测试选项卡中的“测试人员”部分
  • 每个测试人员也必须接受成为测试人员。有一个选择加入URL 您必须发送给测试人员的链接,他们必须单击 链接并接受条件
  • 在完成所有这些之后,您仍然需要等待大约1个小时 开始显示购买详细信息

  • 希望这有帮助

    我正在经历完全相同的事情。它过去有用,现在不行了,我也没有改变任何与iab有关的事情。我确实升级了我的adt包,但IInAppBillingService.aidl没有更改。此问题仅适用于三星。这是否意味着您将无法在调试模式下测试应用内购买?Sku详细信息仅在您从Play Store(选择加入URL)下载并安装应用程序时才会显示?您始终可以从android studio生成发布版本,并为您的构建类型版本设置
    可调试的true
    ,并确保您的构建与上载到Play Store的版本完全相同