Совершите покупку подписки с полезной нагрузкой разработчика, используя com.android.billingclient.api

#play-billing-library

#play-billing-library

Вопрос:

Я работаю над миграцией с https://github.com/serso/android-checkout в отличие от com.android.billingclient.api, API оформления заказа позволил мне запустить процесс покупки, предоставив полезную нагрузку разработки в качестве параметра. как показано ниже

     /**
     * @see #startPurchaseFlow(String, String, String, RequestListener)
     */
    public void startPurchaseFlow(Sku sku, @Nullable String payload, RequestListener<Purchase> listener) {
        startPurchaseFlow(sku, payload, null, listener);
    }
  

Позже я смог бы получить ту же полезную нагрузку разработчика при получении истории покупок.

Теперь, работая с com.android.billingclient.api, я вижу, что могу предоставить полезную нагрузку разработчика, просматривая код, я вижу, что в BillingClientImpl класса com.android.billingclient.api полезная нагрузка просто предоставляется как нулевое значение

 futureBuyIntentBundle =
          executeAsync(
              new Callable<Bundle>() {
                @Override
                public Bundle call() throws Exception {
                  return mService.getBuyIntent(
                      /* apiVersion */ 3,
                      mApplicationContext.getPackageName(),
                      newSku,
                      skuType,
                      /* developerPayload */ null);
                }
              });
  

Мне интересно, ошибка ли это, или есть другой способ сохранить полезную нагрузку разработчика в записи о покупке.

Ответ №1:

Вы правы. Библиотека выставления счетов Play не поддерживала полезную нагрузку разработчика в предыдущей версии 2.0. Смотрите https://issuetracker.google.com/issues/69079764.

Начиная с версии 2.0, это добавляется обратно, но перемещается в фазу потребления / подтверждения:https://developer.android.com/google/play/billing/billing_library_releases_notes#2_0_payload