Перейти к основному содержимому

Получение списка продуктов

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

Для получения списка продуктов используйте метод getProducts.

val productsUseCase: ProductsUseCase = billingClient.products
productsUseCase.getProducts(productIds = listOf("id1", "id2"))
.addOnSuccessListener { products: List<Product> ->
// Process success
}
.addOnFailureListener { throwable: Throwable ->
// Process error
}

productIds: list<string> — список идентификаторов продуктов. Максимальная длина — 2083 символа в списке.

Метод возвращает

data class Product(
val productId: String,
val productType: ProductType?,
val productStatus: ProductStatus,
val priceLabel: String?,
val price: Int?,
val currency: String?,
val language: String?,
val title: String?,
val description: String?,
val imageUrl: Uri?,
val promoImageUrl: Uri?,
val subscription: ProductSubscription?,
)
  • productId — идентификатор продукта;
  • productType — тип продукта;
  • productStatus — статус продукта;
  • priceLable — отформатированная цена товара, включая валютный знак на языке [language];
  • price — цена в минимальных единицах (в копейках);
  • currency — код валюты ISO 4217;
  • language — язык, указанный с помощью BCP 47 кодирования;
  • title — название продукта на языке [language];
  • description — описание продукта на языке [language];
  • imageUrl — ссылка на картинку;
  • promoImageUrl — ссылка на промо картинку;
  • subscription — описание подписки, возвращается только для продуктов с типом subscription.

Структура подписки

data class ProductSubscription(
val subscriptionPeriod: SubscriptionPeriod?,
val freeTrialPeriod: SubscriptionPeriod?,
val gracePeriod: SubscriptionPeriod?,
val introductoryPrice: String?,
val introductoryPriceAmount: String?,
val introductoryPricePeriod: SubscriptionPeriod?
)
  • subscriptionPeriod — период подписки;
  • freeTrialPeriod — пробный период подписки;
  • gracePeriod — льготный период подписки;
  • introductoryPrice — отформатированная вступительная цена подписки, включая знак валюты, на языке product:language;
  • 1introductoryPriceAmount — вступительная цена в минимальных единицах валюты (в копейках);
  • introductoryPricePeriod — расчетный период вступительной цены.

Структура периода подписки

data class SubscriptionPeriod(
val years: Int,
val months: Int,
val days: Int,
)
  • years — количество лет;
  • months — количество месяцев;
  • days — количество дней.