删除并重新安装应用程序后如何查看购买历史记录

时间:2019-02-12 19:27:32

标签: android in-app-purchase in-app-billing android-inapp-purchase

我正在开发一个应用程序,它将允许用户使用应用程序内购买进行购买,并且我想在购买后删除广告。我可以使用以下代码成功购买

BillingFlowParams flowParams = BillingFlowParams.newBuilder()
                        .setSku("android.test.purchased")
                        .setType(BillingClient.SkuType.INAPP)
                        .build();
mBillingClient.launchBillingFlow(getActivity(), flowParams);

但是当我再次打开应用程序并在下面调用此方法时,我看不到来自queryPurchaseHistoryAsync的结果。

mBillingClient.queryPurchaseHistoryAsync(BillingClient.SkuType.INAPP, new PurchaseHistoryResponseListener() {
            @Override
            public void onPurchaseHistoryResponse(int responseCode, List<Purchase> purchasesList) {

                purchasesList.size();
            }
        });

purchasesList.size()== 0

“ queryPurchaseHistoryAsync”方法不能显示测试购买或我做错了吗?

编辑:在删除后再次安装应用后,queryPurchaseHistoryAsync方法是否检查购买。

2 个答案:

答案 0 :(得分:1)

尝试此操作将提供所有购买物品。

mBillingClient.querySkuDetailsAsync(params.build(),
                            new SkuDetailsResponseListener() {
                                @Override
                                public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
                                    listener.onSkuDetailsResponse(responseCode, skuDetailsList);
                                }
                            });

答案 1 :(得分:0)

mBillingClient.queryPurchases()是您所需要的。在每次应用启动时(例如,每次主要活动恢复时)都调用它。这样,您(重新安装)的应用最终将检测到所有用户的购买。