【发布时间】:2021-01-22 16:12:45
【问题描述】:
我已经在我的应用中实现了应用产品。我可以成功购买,一切正常。但是在一台设备上,购买不起作用,尽管当我再次尝试购买时,我收到“产品已拥有”的响应,这表明购买很好。但是 queryPurchase() 返回一个空的购买列表。 我在该设备上只有一封电子邮件。
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");
}
}
};
}
注意:计费结果、订阅响应代码一切似乎都成功了。在其他设备上一切正常。
有人有解决办法吗?感谢您的帮助!
【问题讨论】:
-
你有没有试过清理 Play 缓存并再次调用 queryPurchases?还是您将应用内商品设置为“非消耗品”?如果没有,您是否在购买该商品的同一台设备上遇到了问题?
-
是的,我已经多次清理 Play 缓存和查询购买。不,应用内商品未设置为非消耗品。是的,我在购买的同一台设备上遇到了这个问题。
-
这里发生了同样的事情。一切都按照开发者指南实现。甚至在内部测试频道中发布了应用程序并从 Play 商店安装。当我调用 querySkuDetails 尝试再次订阅时,它会返回已拥有的项目结果。在查询购买(SUBS)中,列表返回为空
-
这个有什么更新吗?
标签: android in-app-purchase billing android-billing google-play-billing