iabhelper如何消费此前带来的购买?

时间:2015-01-30 07:16:59

标签: android in-app-purchase

我正在努力解决"已经带来"通过查询以前拥有的物品然后消耗它们的错误,我的问题是我不知道如何获得"购买"查询带来库存后的对象:

我在这里调用查询:

            List<String> st = new ArrayList<String>();
            st.add(AdRemovalSKU);
            mHelper.queryInventoryAsync(true,st,mGotInventoryListener);

这是我的听众实施:

    mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
        @Override
        public void onQueryInventoryFinished(IabResult result, Inventory inventory) {

            if (mHelper == null) return;

            if (result.isFailure()) {
                return;
            }

            if(inventory.hasPurchase(AdRemovalSKU)) {
                mHelper.consumeAsync(purchase, context);
            }
        }
    };

我想调用consumeAsync,但是我在哪里购买&#34;购买&#34;变量?

2 个答案:

答案 0 :(得分:0)

搞清楚,只需使用

 inventory.getPurchase(AdRemovalSKU)

它将退回购买。

答案 1 :(得分:0)

您可以查看以下内容。

 mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
    @Override
    public void onQueryInventoryFinished(IabResult result, Inventory inventory) {

        if (mHelper == null) return;

        if (result.isFailure()) {
            return;
        }
        Purchase purchased = inventory.getPurchase(AdRemovalSKU);
        if(purchased!=null){
            //Your purchase details will be in the purchased object.
            //You can also do the developer payload verification.
        }
    }
};

如果单独的上述代码不起作用,那么您还需要更改以下内容。

    mHelper.queryInventoryAsync(true,st,mGotInventoryListener);

   mHelper.queryInventoryAsync(mGotInventoryListener);