我已经看过关于这类问题的类似帖子,但这是我的问题不同的地方..
我已将我的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();
}
}
};