为什么我在进行库存检查时没有看到我的所有应用内商品详细信息?

时间:2015-03-16 15:34:40

标签: java android in-app-purchase

我已经看过关于这类问题的类似帖子,但这是我的问题不同的地方..

我已将我的APK发布到Alpha频道,我已经检查过,并且在进行库存检查时我会发送所有6个应用内商品(见下文)。

public void getProductDetails() {
    if (mHelper == null || !storeSetup) return;
    ArrayList<String> skuList = new ArrayList<>();
    List<Issue> issueList = OrmLiteIssueDAO.getInstance().getAllIssues(false);
    for (Issue issue : issueList) {
        if (!issue.isFreeIssue() && issue.getBillingId() != null && !issue.getBillingId().isEmpty() && !issue.getBillingId().equals("null")) {
            skuList.add(issue.getBillingId());
        }
    }
    List<Subscription> subscriptionsList = OrmLiteSubscriptionDAO.getInstance().getAllSubscriptions();
    for (Subscription subscription : subscriptionsList) {
        if (subscription.getSubscriptionSku() != null  && !subscription.getSubscriptionSku().isEmpty() && !subscription.getSubscriptionSku().equals("null")) {
            skuList.add(subscription.getSubscriptionSku());
        }
    }
    if (skuList.size() > 0) {
        mHelper.queryInventoryAsync(true, skuList, mGotInventoryListener);
    }
    skuList.clear();
    issueList.clear();
    subscriptionsList.clear();
}

问题是我只收到了3件产品,这是我购买的3件产品。

应用内商品已于2015年6月3日创建并投放使用,现在已经过了10天,所以它不是传播问题,我可以在我的应用中购买所有6种商品。

我无法获得尚未购买的产品的任何细节。

有人有什么想法吗?

编辑:

库存监听器如下所示:

IabHelper.QueryInventoryFinishedListener mGotInventoryListener = new IabHelper.QueryInventoryFinishedListener() {
    public void onQueryInventoryFinished(IabResult result, Inventory inventory) {
        if (mHelper == null || !storeSetup) return;
        if (result.isFailure()) {
            return;
        }
        if (inventory != null) {
            List<Issue> issues = OrmLiteIssueDAO.getInstance().getAllIssues(false);
            for (Issue issue : issues) {
                SkuDetails issueDetails = inventory.getSkuDetails(issue.getBillingId());
                if (issueDetails != null) {
                    issue.setIssuePrice(issueDetails.getPrice());
                }
                OrmLiteIssueDAO.getInstance().saveIssueToDB(issue);
            }
            List<Subscription> subscriptionsList = OrmLiteSubscriptionDAO.getInstance().getAllSubscriptions();
            for (Subscription subscription : subscriptionsList) {
                SkuDetails subDetails = inventory.getSkuDetails(subscription.getSubscriptionSku());
                if (subDetails != null) {
                    subscription.setSubscriptionPrice(subDetails.getPrice());
                }
                OrmLiteSubscriptionDAO.getInstance().saveSubscriptionToDB(subscription);
            }
            issues.clear();
            subscriptionsList.clear();
        }
    }
};

0 个答案:

没有答案