Модели Android SDK

Эта страница устарела. Актуальная документация по моделям SDK доступна по этой ссылке.

Интерфейсы

AdaptyOnboarding

Информация об онбординге.

НазваниеТипОписание
placementAdaptyPlacementПлейсмент, настроенный в дашборде Adapty
hasViewConfigurationbooleanЕсли true, можно получить объект представления и использовать его с библиотекой AdaptyUI
namestringНазвание онбординг-флоу
remoteConfigAdaptyRemoteConfig (optional)Remote Config, настроенный в дашборде Adapty для этого онбординга
variationIdstringИдентификатор варианта, используемый для атрибуции покупок этому онбордингу

AdaptyPaywallProduct

Информация о продукте.

НазваниеТипОписание
vendorProductIdstringУникальный идентификатор продукта из App Store Connect или Google Play Console
adaptyProductIdstringУникальный идентификатор продукта в Adapty
paywallVariationIdstringСовпадает со свойством variationId родительского AdaptyPaywall
paywallABTestNamestringСовпадает со свойством abTestName родительского AdaptyPaywall
paywallNamestringСовпадает со свойством name родительского AdaptyPaywall
localizedDescriptionstringОписание продукта
localizedTitlestringНазвание продукта
priceAdaptyPaywallProduct.Price (optional)Стоимость продукта в местной валюте
subscriptionDetailsAdaptyProductSubscriptionDetails (optional)Подробная информация о подписке (introductory offer, офферы и т.д.)
productDetailsProductDetailsСистемное представление продукта

AdaptyPaywallProduct.Price

НазваниеТипОписание
amountnumberЦена в числовом формате
currencyCodestring (optional)Код валюты локали, используемой для форматирования цены продукта. ISO 4217 (USD, EUR)
currencySymbolstring (optional)Символ валюты локали, используемой для форматирования цены продукта. ($, €)
localizedStringstring (optional)Язык цены определяется предпочитаемым языком, установленным на устройстве. На Android — отформатированная цена из Google Play в исходном виде

AdaptyProductSubscriptionDetails

ПараметрТипОбязательныйОписание
groupIdentifierStringИдентификатор группы подписок, к которой принадлежит данная подписка.
renewalTypeAdaptyProductRenewalTypeТип возобновления подписки.
subscriptionPeriodAdaptyProductSubscriptionPeriodПериод подписки.
localizedSubscriptionPeriodString?Локализованный период подписки.
introductoryOfferAdaptyProductDiscount?Introductory offer продукта, если он доступен.
promotionalOfferAdaptyProductDiscount?Promotional offer продукта, если он доступен.
winBackOfferAdaptyProductDiscount?Win-back offer продукта, если он доступен.
promotionalOfferIdString?Идентификатор promotional offer, применяемого к данной транзакции.
НазваниеТипОписание
:------------------------------:------------------------------------------------------------------------------------------------------------------------:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
subscriptionPeriodAdaptyProductSubscriptionPeriodДетали периода для продуктов-подписок. Будет null для iOS ниже версии 11.2 и macOS ниже версии 10.14.4.
localizedSubscriptionPeriodstring (optional)Язык периода определяется предпочтительным языком, установленным на устройстве
offerAdaptyProductDiscountPhase (optional)Предложение по подписке, если оно доступно для автовозобновляемой подписки
basePlanIdstringИдентификатор базового плана. Только для Android.
renewalTypeAdaptyProductSubscriptionDetails.RenewalTypeТип возобновления. Только для Android.
offerIdstring (optional)Скидочное предложение для данного basePlanId
offerTagsarray of stringsТеги, заданные в Google Play Console для текущих basePlanId и offerId
introductoryOfferEligibilityAdaptyEligibilityПраво пользователя на introductory offer
introductoryOfferPhasesarray of AdaptyProductDiscountPhaseСписок, который может содержать до двух фаз скидки: фазу бесплатного пробного периода и фазу вводной цены

AdaptyProductSubscriptionPeriod

type AdaptyProductSubscriptionPeriod = {
  unit: 'day' | 'week' | 'month' | 'year' | 'unknown';
  numberOfUnits: number;
};
NameTypeDescription
numberOfUnitsnumberКоличество единиц периода
unitAdaptyPeriodUnitЕдиница времени, в которой задан период подписки

AdaptyProductDiscountPhase

ПараметрТипОписание
priceAdaptyPriceОбъект AdaptyPrice, содержащий сумму платежа для конкретного периода подписки.
numberOfPeriodsintКоличество периодов, в течение которых применяется скидка.
paymentModeAdaptyProductDiscount.PaymentModeРежим оплаты.
subscriptionPeriodAdaptySubscriptionPeriodОбъект AdaptySubscriptionPeriod, содержащий информацию о периоде подписки.
localizedSubscriptionPeriodString?Локализованная строка периода подписки.
localizedNumberOfPeriodsString?Локализованная строка количества периодов.
НазваниеТипОписание
:------------------------------:------------------------------------------------------------------------------------------------------------------------:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
localizedNumberOfPeriodsstring (optional)Форматированное количество периодов скидки для локали пользователя
localizedSubscriptionPeriodstring (optional)Форматированный период подписки скидки для локали пользователя
numberOfPeriodsnumberКоличество периодов, в течение которых доступна скидка на продукт
priceAdaptyPaywallProduct.PriceЦена скидки на продукт в местной валюте
subscriptionPeriodAdaptyProductSubscriptionPeriodИнформация о периоде скидки на продукт
paymentModeAdaptyProductDiscountPhase.PaymentModeСпособ оплаты для данной скидки на продукт

AdaptyPaywall

Информация о пейволе.

НазваниеТипОписание
placementAdaptyPlacementПлейсмент, настроенный в дашборде Adapty
hasViewConfigurationbooleanЕсли true, можно получить объект представления и использовать его с библиотекой AdaptyUI
namestringНазвание пейвола
remoteConfigAdaptyRemoteConfig (optional)Remote Config, настроенный в дашборде Adapty для данного пейвола
variationIdstringИдентификатор варианта, используемый для атрибуции покупок к данному пейволу
vendorProductIdsarray of stringsМассив идентификаторов связанных продуктов

AdaptyPlacement

type AdaptyPlacement = {
  id: string;
  name: string;
  revision: number;
  variationId: string;
  abTestName: string | undefined;
  audienceVersionId: string | undefined;
};
ИмяТипОписание
abTestNamestringНазвание родительского A/B-теста
audienceNamestringНазвание аудитории, к которой относится пейвол
idstringID плейсмента, настроенного в дашборде Adapty
revisionnumberТекущая ревизия (версия) пейвола. Каждое изменение пейвола создаёт новую ревизию
isTrackingPurchasesboolean (optional)Отслеживает ли плейсмент покупки
audienceVersionIdstringID версии аудитории

AdaptyRemoteConfig

NameTypeDescription
localestringИдентификатор локали пейвола
dataMapobjectПользовательский словарь, настроенный в дашборде Adapty для этого пейвола (аналог jsonString)
jsonStringstringПользовательская JSON-строка, настроенная в дашборде Adapty для этого пейвола

AdaptyProfile

Информация о статусе подписки пользователя и истории покупок.

НазваниеТипОписание
profileIdstringИдентификатор пользователя в Adapty
customerUserIdstring (optional)Идентификатор пользователя в вашей системе
customAttributesobjectРанее установленные пользовательские атрибуты через метод updateProfile
accessLevelsobject<string, AdaptyProfile.AccessLevel>Ключи — это идентификаторы уровней доступа, настроенные вами в дашборде Adapty. Значения — объекты AccessLevel. Может быть null, если у пользователя нет уровней доступа
subscriptionsobject<string, AdaptyProfile.Subscription>Ключи — это идентификаторы продуктов из App Store Connect. Значения — объекты Subscription. Может быть null, если у пользователя нет подписок
nonSubscriptionsobject<string, array of AdaptyProfile.NonSubscription>Ключи — это идентификаторы продуктов из App Store Connect. Значения — массивы объектов NonSubscription. Может быть null, если у пользователя нет покупок

AdaptyProfile.AccessLevel

Информация об уровне доступа пользователя.

НазваниеТипОписание
idstringУникальный идентификатор уровня доступа, заданный вами в дашборде Adapty
isActivebooleanАктивен ли уровень доступа. Как правило, достаточно проверить только это свойство, чтобы определить, есть ли у пользователя доступ к премиум-функциям
vendorProductIdstringИдентификатор продукта в App Store Connect, открывшего этот уровень доступа
storestringСтор, в котором была совершена покупка, открывшая этот уровень доступа. Возможные значения: play_store, adapty
activatedAtstring (ISO 8601 datetime)Время активации уровня доступа
renewedAtstring (ISO 8601 datetime) (optional)Время последнего обновления уровня доступа
expiresAtstring (ISO 8601 datetime) (optional)Время истечения уровня доступа (может быть в прошлом или равно null для пожизненного доступа)
isLifetimebooleanЯвляется ли уровень доступа бессрочным (без даты истечения). Если значение равно true, проверять expires_at не нужно — достаточно проверить isActive
activeIntroductoryOfferTypestring (optional)Тип активного introductory offer. Возможные значения: free_trial, pay_as_you_go, pay_up_front. Если значение не равно null, это означает, что предложение было применено в текущем периоде подписки
activePromotionalOfferTypestring (optional)Тип активного promotional offer. Возможные значения: free_trial, pay_as_you_go, pay_up_front. Если значение не равно null, это означает, что предложение было применено в текущем периоде подписки
activePromotionalOfferIdstring (optional)Идентификатор активного promotional offer
offerIdstring (optional)Идентификатор скидочного предложения в Google Play, открывшего этот уровень доступа
willRenewbooleanНастроено ли автоматическое продление подписки
isInGracePeriodbooleanНаходится ли автоматически продлеваемая подписка в льготном периоде
unsubscribedAtstring (ISO 8601 datetime) (optional)Время отмены автоматически продлеваемой подписки. Подписка может оставаться активной — это лишь означает, что автопродление отключено. Устанавливается в null, если пользователь повторно активирует подписку
billingIssueDetectedAtstring (ISO 8601 datetime) (optional)Время обнаружения проблемы с оплатой. Подписка может оставаться активной. Устанавливается в null после успешного списания средств
startsAtstring (ISO 8601 datetime) (optional)Время начала действия уровня доступа (может быть в будущем)
cancellationReasonstring (optional)Причина отмены подписки. Возможные значения: voluntarily_cancelled, billing_error, refund, price_increase, product_was_not_available, unknown
isRefundbooleanБыл ли произведён возврат средств за покупку

AdaptyProfile.Subscription

Информация о подписке пользователя.

НазваниеТипОписание
storestringСтор, в котором совершена покупка. Возможные значения: play_store, adapty
vendorProductIdstringИдентификатор продукта в App Store Connect
vendorTransactionIdstringИдентификатор транзакции из App Store
vendorOriginalTransactionIdstringИдентификатор исходной транзакции из App Store. Для автовозобновляемых подписок это будет идентификатор первой транзакции в подписке
isActivebooleanАктивна ли подписка
isLifetimebooleanАктивна ли подписка бессрочно (без даты истечения). Если значение равно true, не нужно проверять expires_at — достаточно проверить isActive
activatedAtstring (ISO 8601 datetime)Время активации подписки
renewedAtstring (ISO 8601 datetime) (optional)Время последнего продления подписки
expiresAtstring (ISO 8601 datetime) (optional)Время истечения подписки (может быть в прошлом или равно null для пожизненного доступа)
startsAtstring (ISO 8601 datetime) (optional)Время начала действия подписки (может быть в будущем)
unsubscribedAtstring (ISO 8601 datetime) (optional)Время отмены автовозобновляемой подписки. Подписка может оставаться активной — это лишь означает, что автопродление отключено. Принимает значение null, если пользователь повторно активирует подписку
billingIssueDetectedAtstring (ISO 8601 datetime) (optional)Время обнаружения проблемы с оплатой (Apple не смогла списать средства с карты). Подписка может оставаться активной. Принимает значение null после успешного списания
isInGracePeriodbooleanНаходится ли автовозобновляемая подписка в льготном периоде
isSandboxbooleanБыла ли покупка совершена в среде песочницы
isRefundbooleanБыл ли совершён возврат средств за покупку
willRenewbooleanНастроено ли автопродление для подписки
activeIntroductoryOfferTypestring (optional)Тип активного introductory offer. Возможные значения: free_trial, pay_as_you_go, pay_up_front. Если значение не равно null, это означает, что предложение было применено в текущем периоде подписки
activePromotionalOfferTypestring (optional)Тип активного promotional offer. Возможные значения: free_trial, pay_as_you_go, pay_up_front. Если значение не равно null, это означает, что предложение было применено в текущем периоде подписки
activePromotionalOfferIdstring (optional)Идентификатор активного promotional offer
offerIdstring (optional)Идентификатор скидочного предложения в Google Play, открывшего доступ к подписке
cancellationReasonstring (optional)Причина отмены подписки. Возможные значения: voluntarily_cancelled, billing_error, refund, price_increase, product_was_not_available, unknown

AdaptyProfile.NonSubscription

Информация о разовых покупках пользователя (не подписках).

НазваниеТипОписание
purchaseIdstringИдентификатор покупки в Adapty. Используйте его, чтобы убедиться, что вы уже обработали эту покупку (например, при отслеживании разовых покупок)
storestringСтор, в котором совершена покупка. Возможные значения: play_store, adapty
vendorProductIdstringИдентификатор продукта в App Store Connect
vendorTransactionIdstring (optional)Идентификатор транзакции из App Store
purchasedAtstring (ISO 8601 datetime)Время совершения покупки
isSandboxbooleanБыла ли покупка совершена в среде песочницы
isRefundbooleanБыл ли произведён возврат средств за покупку
isConsumablebooleanДолжен ли продукт обрабатываться только один раз. Если true, Adapty API вернёт эту покупку только один раз

AdaptyAndroidSubscriptionUpdateParameters

Параметры для замены одной подписки на другую.

НазваниеТипОписание
oldSubVendorProductIdstringИдентификатор продукта текущей подписки, которую нужно заменить
replacementModeAdaptyAndroidSubscriptionUpdateReplacementModeРежим пропорционального пересчёта при обновлении подписки

AdaptyPlacementFetchPolicy

Sealed class для политик получения плейсментов.

НазваниеТипОписание
ReloadRevalidatingCacheDataclassВсегда загружать данные с сервера
ReturnCacheDataElseLoadclassВернуть кешированные данные, если доступны, иначе загрузить с сервера
ReturnCacheDataIfNotExpiredElseLoadclassВернуть кешированные данные, если они не устарели, иначе загрузить с сервера

AdaptyEligibility

Перечисление, представляющее статус доступности предложения.

ЗначениеОписание
ELIGIBLEПользователь имеет право на получение предложения
INELIGIBLEПользователь не имеет права на получение предложения
NOT_APPLICABLEПредложение неприменимо

AdaptyPeriodUnit

Перечисление, представляющее единицу времени для периодов подписки.

ЗначениеОписание
DAYЕдиница периода — день
WEEKЕдиница периода — неделя
MONTHЕдиница периода — месяц
YEARЕдиница периода — год
UNKNOWNНеизвестная единица периода

Перечисления

OfferType

  • free_trial - Бесплатный пробный период
  • pay_as_you_go - Оплата по мере использования
  • pay_up_front - Оплата вперёд

AdaptyAndroidSubscriptionUpdateReplacementMode

  • immediate_with_time_proration - Немедленно с пропорциональным пересчётом времени
  • immediate_and_charge_prorated_price - Немедленно с пропорциональным списанием суммы
  • immediate_without_proration - Немедленно без пересчёта
  • deferred - Отложенно
  • immediate_and_charge_full_price - Немедленно с полным списанием суммы

AdaptyProductDiscountPhase.PaymentMode

  • PAY_AS_YOU_GO - Оплата по мере использования (регулярные платежи)
  • PAY_UPFRONT - Оплата вперёд (единовременный платёж за несколько периодов)
  • FREE_TRIAL - Бесплатный пробный период (без оплаты)
  • UNKNOWN - Неизвестный способ оплаты

AdaptyProductSubscriptionDetails.RenewalType

  • AUTORENEWABLE - Автопродлеваемая подписка
  • PREPAID - Предоплаченная подписка