Google Play 计费 - 如何检查用户第二次打开应用程序时已购买的订阅?

问题描述 投票:0回答:1

我遵循了 Google 开发者文档中的指南:https://developer.android.com/google/play/billing/integrate?hl=vi

完成步骤处理购买流程,并处理购买结果和处理确认购买响应。在这一步中,我可以确定用户购买是否成功。

目前我没有任何后端来执行指南的下一步:https://developer.android.com/google/play/billing/backend?hl=vi

再次运行应用程序时,如何确定用户已经购买了订阅(无需再次处理购买流程)?以及当用户更换设备时如何确定用户订阅情况?

android play-billing-library google-play-billing
1个回答
0
投票

可以使用 queryPurchasesAsync 来完成

    void QueryPurchase(){
        QueryPurchasesParams queryPurchasesParams = QueryPurchasesParams.newBuilder().setProductType(BillingClient.ProductType.SUBS).build();
        billingClient.queryPurchasesAsync(queryPurchasesParams, new PurchasesResponseListener() {
            @Override
            public void onQueryPurchasesResponse(@NonNull BillingResult billingResult, @NonNull List<Purchase> list) {
                if(list==null){
                    return;
                }
                Log.d(TAG, "onQueryPurchasesResponse, list.size="+String.valueOf(list.size()));
                for(Purchase purchase: list){
                    boolean bIsAutoRenewing = purchase.isAutoRenewing();
                    Log.d(TAG, "bIsAutoRenewing = "+String.valueOf(bIsAutoRenewing));
                }
            }
        });
    }

然后可以通过bIsAutoRenewing来判断

© www.soinside.com 2019 - 2024. All rights reserved.