Получение актуальной информации по списку продуктов
Для получения списка продуктов используйте метод getProducts:
RuStoreBillingClient.products.getProducts(productIds = listOf( "id1, id2" )) .addOnCompleteListener(object : OnCompleteListener<ProductsResponse> { override fun onFailure(throwable: Throwable) { // Process error } override fun onSuccess(result: ProductsResponse) { // Process success } }) |
- productIds: list<string> — список идентификаторов продуктов.
Метод возвращает:
data class ProductsResponse( override val meta: RequestMeta?, override val code: Int, override val errorMessage: String?, override val errorDescription: String?, override val errors: List<DigitalShopGeneralError>?, val products: List<Product>, ) : ResponseWithCode |
- meta — дополнительная информация о запросе;
- code — код ответа;
- errorMessage — сообщение об ошибке для пользователя;
- errorDescription — расшифровка сообщения об ошибке;
- errors — список ошибок для запрошенных покупок;
- products — список запрошенных продуктов.
Структура дополнительной информации о запросе:
data class RequestMeta( val traceId: String, ) |
- traceId — метка запроса.
Структура ошибки:
data class DigitalShopGeneralError( val name: String?, val code: Int?, val description: String?, ) |
- name — наименование атрибута ошибки;
- code — код ошибки;
- description — описание ошибки.
Структура продукта:
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 — количество дней.
Was this information helpful?