Получение списка продуктов
Для получения продуктов необходимо использовать метод GetProducts:
Вызов метода GetProducts
long requestId = URuStoreBillingClient::Instance()->GetProducts( productIds, []( long requestId, TSharedPtr<FURuStoreProductsResponse, ESPMode::ThreadSafe> response) { // Process response }, []( long requestId, TSharedPtr<FURuStoreError, ESPMode::ThreadSafe> error) { // Process error } ); |
- TArray<FString> productIds — список идентификаторов продуктов.
Blueprint-реализация:
Метод возвращает:
Ответ GetProducts
USTRUCT(BlueprintType) struct FURuStoreProductsResponse : public FURuStoreResponseWithCode { GENERATED_USTRUCT_BODY() UPROPERTY(BlueprintReadOnly) TArray<FURuStoreProduct> products; }; |
- products — список продуктов.
Базовый класс ответа:
Базовый класс ответа
USTRUCT(BlueprintType) struct FURuStoreResponseWithCode { GENERATED_USTRUCT_BODY() FURuStoreResponseWithCode() { int code = 0; errorMessage = "" ; errorDescription = "" ; } UPROPERTY(BlueprintReadOnly) int code; UPROPERTY(BlueprintReadOnly) FString errorMessage; UPROPERTY(BlueprintReadOnly) FString errorDescription; UPROPERTY(BlueprintReadOnly) TArray<FUDigitalShopGeneralError> errors; }; |
- code — код ответа.
- errorMessage — сообщение об ошибке.
- errorDescription — описание ошибки.
- errors — список ошибок.
Структура ошибки:
Структура ошибки
USTRUCT(BlueprintType) struct FURuStoreDigitalShopGeneralError { GENERATED_USTRUCT_BODY() FURuStoreDigitalShopGeneralError() { name = "" ; code = 0; description = "" ; } UPROPERTY(BlueprintReadOnly) FString name; UPROPERTY(BlueprintReadOnly) int code; UPROPERTY(BlueprintReadOnly) FString description; }; |
- name — имя ошибки.
-
code — код ошибки.
- description — описание ошибки.
Структура продукта:
Структура продукта
USTRUCT(BlueprintType) struct FURuStoreProduct { GENERATED_USTRUCT_BODY() FURuStoreProduct() { productId = "" ; productType = EURuStoreProductType::CONSUMABLE; productStatus = EURuStoreProductStatus::INACTIVE; priceLabel = "" ; price = 0; currency = "" ; language = "" ; title = "" ; description = "" ; imageUrl = "" ; promoImageUrl = "" ; } UPROPERTY(BlueprintReadOnly) FString productId; UPROPERTY(BlueprintReadOnly) EURuStoreProductType productType; UPROPERTY(BlueprintReadOnly) EURuStoreProductStatus productStatus; UPROPERTY(BlueprintReadOnly) FString priceLabel; UPROPERTY(BlueprintReadOnly) int price; UPROPERTY(BlueprintReadOnly) FString currency; UPROPERTY(BlueprintReadOnly) FString language; UPROPERTY(BlueprintReadOnly) FString title; UPROPERTY(BlueprintReadOnly) FString description; UPROPERTY(BlueprintReadOnly) FString imageUrl; UPROPERTY(BlueprintReadOnly) FString promoImageUrl; UPROPERTY(BlueprintReadOnly) FURuStoreProductSubscription subscription; }; |
- productId — идентификатор продукта.
- productType — тип продукта.
- productStatus — статус продукта.
- priceLable — отформатированная цена товара, включая валютный знак на языке [language].
- price — цена в минимальных единицах (копейках).
- currency — код валюты ISO 4217.
- language — язык, указанный с помощью BCP 47 кодирования.
- title — название продукта на языке [language].
- description — описание продукта на языке [language].
- imageUrl — ссылка на картинку.
- promoImageUrl — ссылка на промо картинку.
- subscription — описание подписки, возвращается только для продуктов с типом subscription.
Структура подписки:
Структура подписки
USTRUCT(BlueprintType) struct FURuStoreProductSubscription { GENERATED_USTRUCT_BODY() FURuStoreProductSubscription() { introductoryPrice = "" ; introductoryPriceAmount = "" ; } UPROPERTY(BlueprintReadOnly) FURuStoreSubscriptionPeriod subscriptionPeriod; UPROPERTY(BlueprintReadOnly) FURuStoreSubscriptionPeriod freeTrialPeriod; UPROPERTY(BlueprintReadOnly) FURuStoreSubscriptionPeriod gracePeriod; UPROPERTY(BlueprintReadOnly) FString introductoryPrice; UPROPERTY(BlueprintReadOnly) FString introductoryPriceAmount; UPROPERTY(BlueprintReadOnly) FURuStoreSubscriptionPeriod introductoryPricePeriod; }; |
- subscriptionPeriod — период подписки.
- freeTrialPeriod — пробный период подписки.
- gracePeriod — льготный период подписки.
- introductoryPrice — отформатированная вступительная цена подписки, включая знак валюты, на языке product:language.
- introductoryPriceAmount — вступительная цена в минимальных единицах валюты (в копейках).
- introductoryPricePeriod — расчетный период вступительной цены.
Структура периода подписки:
Структура для сроков периода подписки
USTRUCT(BlueprintType) struct FURuStoreSubscriptionPeriod { GENERATED_USTRUCT_BODY() FURuStoreSubscriptionPeriod() { years = 1970; months = 1; days = 1; } UPROPERTY(BlueprintReadOnly) int years; UPROPERTY(BlueprintReadOnly) int months; UPROPERTY(BlueprintReadOnly) int days; }; |
- years — количество лет.
- months — количество месяцев.
- days — количество дней.
Обновлено 17 июля 2023 г.
Was this information helpful?