Получение актуальной информации по списку продуктов

Для получения списка продуктов используйте метод 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;
  • introductoryPriceAmount — вступительная цена в минимальных единицах валюты (в копейках);
  • introductoryPricePeriod — расчетный период вступительной цены.

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

data class SubscriptionPeriod(
    val years: Int,
    val months: Int,
    val days: Int,
)
  • years — количество лет;
  • months — количество месяцев;
  • days — количество дней.
Обновлено 13 сентября 2023 г.
Was this information helpful?