- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在我的应用程序中实现了应用程序产品。我可以成功购买并且一切正常。但是在一台设备上,购买不起作用,尽管当我再次尝试购买时,我收到“产品已拥有”的响应,这表明购买没问题。但是 queryPurchase() 返回一个空的购买 list 。我在那台设备上只有一封电子邮件。
public void queryPurchase() {
Runnable queryPurchaseRequest = getQueryPurchaseRequest();
executeRequest(queryPurchaseRequest);
}
private Runnable getQueryPurchaseRequest() {
return new Runnable() {
@Override
public void run() {
Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
if(purchasesResult.getResponseCode() == BillingResponseCode.OK) {
ArrayList<Purchase> purchaseList = new ArrayList<>();
purchaseList.addAll(purchasesResult.getPurchasesList());
if(isSubscriptionSupported()) {
Purchase.PurchasesResult subscriptionResult
= mBillingClient.queryPurchases(BillingClient.SkuType.SUBS);
if (subscriptionResult.getResponseCode() == BillingResponseCode.OK) {
purchaseList.addAll(subscriptionResult.getPurchasesList());
} else {
Log.e(TAG, "Got an error response trying to query subscription purchases");
}
}
onQueryPurchasesFinished(purchaseList);
} else {
Utilities.setPurchaseLog("onBilling manager on query purchase request: result unknown\n");
}
}
};
}
注意:计费结果,订阅响应代码一切似乎成功。一切都在其他设备上完美运行。
有人有解决办法吗?感谢您的帮助!
最佳答案
自计费库版本 2.x(优先级:P1,严重性 S2)以来,这是一个已经存在多年的已知错误
https://issuetracker.google.com/issues/160473001
我认为您能做的最好的事情就是去那里并留下您的星号/评论以尝试加快速度。
但是,有时我们可能会遗漏一些事情:事实证明,您需要等待 billingClient.startConnection() 调用完成它的工作,并且 onBillingSetupFinished() 回调会在提供的情况下被调用BillingClientStateListener。只有在那之后,您才能调用 queryPurchases 方法。如果您在完成与服务的连接之前调用 queryPurchases,您将得到一个空列表。
关于Android - queryPurchase() 返回一个空列表,但我购买了应用内产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65848755/
我正在使用 Google 计费服务,版本 2.0.3。 运行 BillingClient.queryPurchases Activity onstart方法中UI线程中的方法,用户有时会遇到应用程序无
我已经在我的应用程序中实现了应用程序产品。我可以成功购买并且一切正常。但是在一台设备上,购买不起作用,尽管当我再次尝试购买时,我收到“产品已拥有”的响应,这表明购买没问题。但是 queryPurcha
我提供 1 个应用程序内购买(完整功能)。我将购买结果保存在 sharedpreference 的一个 bool 变量中,并在应用程序启动时使用 queryPurchases,因此如果有人删除并重新安
今天我发现我的 Android 应用程序的应用程序崩溃报告涉及以下堆栈跟踪: java.lang.NullPointerException: Attempt to invoke interface m
我正在使用 Play Billing Library 来触发和管理购买,这反过来又解锁了应用中的额外功能。这部分正在工作。 但是,“恢复”购买的最佳方式是什么。例如,购买了该应用程序的人购买了一部新手
我实现了应用内计费(订阅)并且一切正常 - 我能够订阅,我确认订阅,并且计费流程成功结束并处于正常状态。 但是,在我的应用程序启动时,我正在检查(从 Google Play 缓存)我是否已经购买 -
我刷新到 android billing 版本 4 和 2 东西不再工作了。 首先我有这个: else if (billingResult.getResponseCode() == BillingCl
我刚刚为一件商品进行了一次测试购买,它失败了,因为我的 Wi-Fi 没电了,但出于某种原因,Google Play 然后给了我一条消息,说订单正在等待处理之类的,我应该在某个链接上检查一下(我忘记了写
我是一名优秀的程序员,十分优秀!