Купите один и тот же товар снова и снова, не потребляя - В приложении покупка android - PullRequest
0 голосов
/ 27 апреля 2020

Я сохранил вкладку для пожертвований и хочу, чтобы пользователи покупали предметы снова и снова. Я реализовал код, но он позволяет пользователю купить указанный пункт c только один раз. Я использовал управляемые продукты в игровой консоли для продуктов.

 btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
           if(billingClient.isReady()){
             SkuDetailsParams params=SkuDetailsParams.newBuilder()
             .setSkusList(Arrays.asList("purchase_aaa","purchase_bbb","purchase_ccc","purchase_ddd"))
             .setType(BillingClient.SkuType.INAPP).build();

 billingClient.querySkuDetailsAsync(params, new SkuDetailsResponseListener() {
         @Override
          public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
           if(responseCode==BillingClient.BillingResponse.OK)
        {
              loadProductToRecyclerView(skuDetailsList);
                  }
             else{
               Toast.makeText(Donate.this, "Cannot query product", Toast.LENGTH_SHORT).show();
                  }
                  }
                });
                }
                else
        {
                Toast.makeText(Donate.this, "Not ready", Toast.LENGTH_SHORT).show();
                }
            }
        });

  @Override
    public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
        if(purchases!=null){
        Toast.makeText(this, "Purchased"+purchases.size(), Toast.LENGTH_SHORT).show();
    }
    }

1 Ответ

0 голосов
/ 27 апреля 2020

Это по своему замыслу и не может быть изменено, продукты, управляемые из приложения, можно приобрести только один раз.

Если вы хотите, чтобы пользователь, заплативший больше, включил больше функций, вам нужно будет создать как можно больше Контролируемые в приложении продукты в виде уровней.

Если это игра, в которой, например, пользователь потребляет предметы, то, когда у него его больше нет, вы потребляете продукт в приложении, чтобы он мог купить это снова.

Или вы также можете потреблять продукт сразу после покупки и отслеживать, сколько он приобрел, используя ваши собственные средства, собственный сервер или, возможно, через firebase, но это уже означает, что у вас будет реализовать систему аутентификации пользователей для вашего приложения.

Потребление покупки:

ConsumeResponseListener consumeListener = new ConsumeResponseListener() {
            @Override
            public void onConsumeResponse(BillingResult billingResult, String purchaseToken) {

            }
        };
 String token = purchase.getPurchaseToken();
            ConsumeParams consumeParams = ConsumeParams.newBuilder().setPurchaseToken(token).build();
            billingClient.consumeAsync(consumeParams, consumeListener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...