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

Ric*_*win 8 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
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是为什么我这么困惑.

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

szk*_*zkj 10

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

第一个回答是:"他们说他们做了更改,需要在发布之前发布apk,他们建议将apk上传到alpha测试频道并发布(不是草稿模式)."

我会尝试这个,也许它解决了这个问题.

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


zun*_*ndi 5

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

  1. 确保它的实际公布的α,β,或生产.例如,如果它出现在"Alpha in Alpha"或beta版中,则表示您尚未发布.发布意味着您还需要上传Google Play所需的最低资产,说明,内容分级等(请参阅APK,商店列表和开发者控制台中的内容评级选项卡).
  2. 至少对于alpha和beta测试,您必须创建一个测试人员列表并添加每个测试人员的电子邮件.在Alpha测试或Beta测试选项卡中查找"管理测试人员"部分.
  3. 每个测试人员也必须接受成为测试人员.您必须向测试人员发送选择性URL链接,他们必须单击该链接并接受条件.
  4. 完成所有操作后,您仍需要等待大约1小时才能开始显示购买详情.

希望这可以帮助!

  • 这是否意味着,您将无法在调试模式下测试应用内购买?仅当您从Play商店(从选择加入的URL)下载并安装应用程序时,才会显示Sku详细信息? (3认同)