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

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

ProductsUseCase productsUseCase = billingClient.getProducts();
productsUseCase.getProducts(Arrays.asList("id1""id2")).addOnCompleteListener(new OnCompleteListener<List<Product>>() {
    @Override
    public void onFailure(@NonNull Throwable throwable) {
        // Process error
    }
 
    @Override
    public void onSuccess(List<Product> products) {
        // Process success
    }
});
  • productIds: List<String> — список идентификаторов продуктов

Структура продукта:

interface Product {
    public String getProductId();
 
    @Nullable
    public ProductType getProductType();
 
    public ProductStatus getProductStatus();
 
    @Nullable
    public String getPriceLabel();
 
    @Nullable
    public Integer getPrice();
 
    @Nullable
    public String getCurrency();
 
    @Nullable
    public String getLanguage();
 
    @Nullable
    public String getTitle();
 
    @Nullable
    public String getDescription();
 
    @Nullable
    public Uri getImageUrl();
 
    @Nullable
    public Uri getPromoImageUrl();
 
    @Nullable
    public ProductSubscription getProductSubscription();
}
  • getProductId() — идентификатор продукта; 
  • getProductType() — тип продукта; 
  • getProductStatus() — статус продукта; 
  • getPriceLabel() — отформатированная цена товара, включая валютный знак на языке [language]; 
  • getPrice() — цена в минимальных единицах (в копейках); 
  • getCurrency() — код валюты ISO 4217; 
  • getLanguage() — язык, указанный с помощью BCP 47 кодирования; 
  • getTitle() — название продукта на языке [language];
  • getDescription() — описание продукта на языке [language]; 
  • getImageUrl() — ссылка на картинку; 
  • getPromoImageUrl() — ссылка на промо картинку; 
  • getSubscription() — описание подписки, возвращается только для продуктов с типом subscription. 

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

interface ProductSubscription {
    @Nullable
    public SubscriptionPeriod getSubscriptionPeriod();
 
    @Nullable
    public SubscriptionPeriod getFreeTrialPeriod();
 
    @Nullable
    public SubscriptionPeriod getGracePeriod();
 
    @Nullable
    public String getIntroductoryPrice();
 
    @Nullable
    public String getIntroductoryPriceAmount();
 
    @Nullable
    public String getIntroductoryPricePeriod();
}
  • getSubscriptionPeriod() — период подписки; 
  • getFreeTrialPeriod() — пробный период подписки; 
  • getGracePeriod() — льготный период подписки; 
  • getIntroductoryPrice() — отформатированная вступительная цена подписки, включая знак валюты, на языке product:language; 
  • getIntroductoryPriceAmount() — вступительная цена в минимальных единицах валюты (в копейках); 
  • getIntroductoryPricePeriod() — расчетный период вступительной цены. 

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

interface SubscriptionPeriod {
    int getYears();
 
    int getMonths();
 
    int getDays();
}
  • getYears() — количество лет; 
  • getMonths() — количество месяцев; 
  • getDays() — количество дней. 
Обновлено 23 июня 2023 г.
Was this information helpful?