Попытка реализовать специфичные для продукта функции - PullRequest
0 голосов
/ 19 июня 2019

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

Я остановился на методе onRewardResponse(), который возвращает responseCode = 4 (ITEM_UNAVAILABLE). Я попробовал мои продукты id и android.test.reward. Оба дали одинаковые responseCode.

Вот мой текущий прогресс кода.

BillingUtils.mBillingClient = BillingClient.newBuilder(getContext())
            .setListener(this)
            .build();
    BillingUtils.mBillingClient.startConnection(new BillingClientStateListener() {
        @Override
        public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode) {
            if (billingResponseCode == BillingClient.BillingResponse.OK) {
                List skuList = new ArrayList<>();
                skuList.add("android.test.reward");
                SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
                params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
                BillingUtils.mBillingClient.querySkuDetailsAsync(params.build(),
                        (responseCode, skuDetailsList) -> {
                            if (responseCode == BillingClient.BillingResponse.OK
                                    && skuDetailsList != null) {
                                for (SkuDetails skuDetails : skuDetailsList) {
                                    RewardLoadParams.Builder paramsBuilder = new RewardLoadParams.Builder();
                                    paramsBuilder.setSkuDetails(skuDetails);
                                    BillingUtils.mBillingClient.loadRewardedSku(paramsBuilder.build(), responseCode1 -> {
                                        Log.i("TESTT", String.valueOf(responseCode1));
                                    });
                                }
                            }
                        });

            }
        }
        @Override
        public void onBillingServiceDisconnected() {
            BillingUtils.mBillingClient.endConnection();
        }
    });

Любой совет?

Кроме того, я до сих пор не знаю, как связать фрагмент кода выше с моим видеообъявлением. В документации сказано:

Если в Google Play Billing Library успешно загружено видео, связанное с вознагражденным продуктом, то есть, если RewardResponseListener получает responseCode BillingResponse.OK, вы можете запустить процесс выставления счетов.

Но где я могу это связать?

...