1

我一直在研究 IAB V3,并且在尝试从商店中获取 sku 详细信息时遇到了麻烦。在检查库存查询的结果失败后,我尝试使用 inv.getSkuDetails(MODULE).getPrice(); 获取详细信息 这总是返回null,在调试时我可以看到库存对象是空的。

然而,这些请求总是返回 null。我知道 google 要求您将 apk 上传到 alpha 发布通道(并发布它)并激活 InAppPurchase(我还给了商店几天时间来接管更改)。为了测试,我使用了与上传到 alpha 通道相同的 APK。

IabHelper 显然设法连接到正确的应用程序,因为可以进行测试购买,并且可以从商店查询。

代码:

`mHelper = new IabHelper(MainActivity.this, getString(getString(R.string.key1));

                    mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener(){
                        @Override
                        public void onIabSetupFinished(IabResult result) {
                            if (!result.isSuccess()) {
                                Log.d(TAG, "Problem Setting up Billing" + result);
                                return;
                            }

                            IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
                                @Override
                                public void onQueryInventoryFinished(IabResult result, Inventory inv) {
                                    if (result.isFailure()) {
                                        Toast.makeText(getApplicationContext(), R.string.connectionFailed, Toast.LENGTH_SHORT).show();
                                        Log.d(TAG, result.getMessage() + result.getResponse() + inv.toString());
                                        return;
                                    }

                                       String modulePrice = inv.getSkuDetails(MODULE).getPrice();
                                       String moduleTitle = inv.getSkuDetails(MODULE).getTitle();
                                       String moduleDescription=inv.getSkuDetails(MODULE).getDescription();
                                    }
                            }

                            ArrayList<String> skuList=new ArrayList<String>();
                            skuList.add(MODULE);


                            try {
                                mHelper.queryInventoryAsync(true, skuList, mQueryFinishedListener);
                            } catch (IabHelper.IabAsyncInProgressException e) {
                                e.printStackTrace();
                            }
                        }
                    });`

忽略错误的缩进和缺少的括号,因为我剪掉了一些代码。我非常感谢有关可能导致此问题的任何想法。谢谢

4

0 回答 0