---
title: "Действия и типы данных плагина Adapty для FlutterFlow"
description: "Используйте ресурсы функциональных флагов Adapty для упрощения работы с функциями на основе подписки."
---

## Кастомные действия \{#custom-actions\}

Ниже перечислены методы Adapty, доступные во FlutterFlow через плагин Adapty. Их можно использовать как кастомные действия во FlutterFlow.
| Пользовательское действие | Описание | Аргументы действия | Типы данных Adapty — переменная вывода действия |
|---|----|--------|----|
| activate | Инициализирует SDK Adapty | Нет ||
| <p id="getPaywall">getPaywall</p> | Получает пейвол. Не возвращает продукты пейвола. Используйте действие `getPaywallProducts`, чтобы получить актуальные продукты | <ul><li>[Placement_ID](placements)</li><li>[Locale](localizations-and-locale-codes)</li></ul> | [AdaptyGetPaywallResult](ff-resources#adaptygetpaywallresult)|
| <p id="getPaywallProducts">getPaywallProducts</p> | Возвращает список актуальных продуктов пейвола | [AdaptyPaywall](ff-resources#adaptypaywall) | [AdaptyGetProductsResult](ff-resources#adaptygetproductsresult) |
| <p id="getproductsintroductoryoffereligibility">getProductsIntroductoryOfferEligibility</p> | Проверяет, имеет ли пользователь право на introductory offer для iOS-подписки | [AdaptyPaywallProduct](product) | [AdaptyGetIntroEligibilitiesResult](ff-resources#adaptygetintroeligibilitiesresult) |
| <p id="makePurchase">makePurchase</p> | Завершает покупку и открывает доступ к контенту. Если у пейвола есть promotional offer, Adapty автоматически применяет его при оформлении покупки | <ul><li> **product**: объект AdaptyPaywallProduct, полученный из пейвола.</li><li> **subscriptionUpdateParams**: объект [`AdaptySubscriptionUpdateParameters`](ff-resources#adaptysubscriptionupdateparameters), используемый для повышения или понижения уровня подписки (для Android).</li><li>**isOfferPersonalized**: указывает, является ли предложение персонализированным для покупателя (для Android).</li></ul> | [AdaptyMakePurchaseResult](ff-resources#adaptymakepurchaseresult) |
| <p id="getprofile">getProfile</p> | <p>Получает профиль текущего пользователя приложения. Позволяет задавать уровни доступа и другие параметры</p><p>Если запрос завершается ошибкой (например, из-за отсутствия интернета), возвращаются кешированные данные. Adapty регулярно обновляет кеш профиля, чтобы информация оставалась как можно более актуальной</p> | Нет | [AdaptyGetProfileResult](ff-resources#adaptygetprofileresult) |
| updateProfile | Изменяет необязательные атрибуты профиля текущего пользователя: email, номер телефона и т. д. Атрибуты можно использовать для создания [сегментов](segments) пользователей или просматривать их в CRM | ID и любые параметры, которые нужно обновить для [AdaptyProfile](ff-resources#adaptyprofile) | [AdaptyError](ff-resources#adaptyerror) (необязательно) |
| restorePurchases | Восстанавливает все покупки пользователя | Нет | [AdaptyGetProfileResult](ff-resources#adaptygetprofileresult) |
| logShowPaywall | Фиксирует показ конкретного пейвола пользователю | [AdaptyPaywall](ff-resources#adaptypaywall) | [AdaptyError](ff-resources#adaptyerror) (необязательно) |
| identify | Идентифицирует пользователя с помощью `customerUserId` из вашей системы | customerUserId | [AdaptyError](ff-resources#adaptyerror) (необязательно) |
| logout | Выполняет выход текущего пользователя из приложения | Нет | [AdaptyError](ff-resources#adaptyerror) (необязательно) |
| presentCodeRedemptionSheet | Отображает окно для активации промокодов (только iOS) | Нет | Нет |
## Типы данных \{#data-types\}

Типы данных Adapty (наборы значений данных), передаваемые в FlutterFlow через плагин Adapty.
### AdaptyAccessLevel

Информация об [уровне доступа](access-level) пользователя.
| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| activatedAt | DateTime | Время активации данного уровня доступа |
| activeIntroductoryOfferType | String | Тип активного introductory offer. Если задано, значит в текущем расчётном периоде подписки применялось предложение |
| activePromotionalOfferId | String | ID активного promotional offer (приобретённого через iOS) |
| activePromotionalOfferType | String | Тип активного promotional offer (приобретённого через iOS). Если задано, значит в текущем расчётном периоде подписки применялось предложение |
| billingIssueDetectedAt | DateTime | Время обнаружения проблемы с оплатой. Подписка при этом может оставаться активной. Устанавливается в null при успешной обработке платежа |
| cancellationReason | String | Причина отмены подписки |
| expiresAt | DateTime | Время истечения уровня доступа (может быть в прошлом или не задано для пожизненного доступа) |
| id | String | Идентификатор уровня доступа |
| isActive | Boolean | True, если данный уровень доступа активен. Как правило, именно это свойство используется для проверки наличия у пользователя доступа к премиум-функциям |
| isInGracePeriod | Boolean | True, если данная автовозобновляемая подписка находится в [льготном периоде](https://developer.apple.com/help/app-store-connect/manage-subscriptions/enable-billing-grace-period-for-auto-renewable-subscriptions) |
| isLifetime | Boolean | True, если данный уровень доступа активен на всё время (без даты истечения) |
| isRefund | Boolean | True, если данная покупка была возвращена |
| offerId | String | ID активного promotional offer (приобретённого через Android) |
| renewedAt | DateTime | Время последнего продления уровня доступа |
| startsAt | DateTime | Время начала действия данного уровня доступа (может быть в будущем) |
| store | String | Стор, в котором была совершена покупка |
| unsubscribedAt | DateTime | Время отключения автопродления подписки. Подписка при этом может оставаться активной. Если не задано, пользователь повторно активировал подписку |
| vendorProductId | String | ID продукта в сторе, открывшего данный уровень доступа |
| willRenew | Boolean | True, если данная автовозобновляемая подписка настроена на продление |
### AdaptyAccessLevelIdentifiers

Эта структура предназначена для замены пары ключ-значение в `Map<String, AdaptyAccessLevel` [AdaptyAccessLevel](ff-resources#adaptyaccesslevel).

| Название поля | Тип | Описание |
|--------------|-----|---------|
| accessLevelIdentifier | String | ID уровня доступа |
| accessLevel | Data ([AdaptyAccessLevel](ff-resources#adaptyaccesslevel)) | Связанный [AdaptyAccessLevel](ff-resources#adaptyaccesslevel) |
### AdaptyCustomDoubleAttribute

Информация о пользовательских атрибутах типа double, заданных для [пользователя](ff-resources#adaptyprofile).

| Название поля | Тип | Описание |
|---------------|-----|----------|
| key | String | Идентификатор пользовательского атрибута типа double |
| value | Double | Значение пользовательского атрибута типа double |
### AdaptyCustomStringAttribute

Информация о пользовательских строковых атрибутах, заданных для [пользователя](ff-resources#adaptyprofile).

| Название поля | Тип | Описание |
|--------------|-----|---------|
| key | String | Идентификатор пользовательского строкового атрибута |
| value | String | Значение пользовательского строкового атрибута |
### AdaptyError

Содержит подробности об ошибке. Полный список кодов ошибок приведён в разделе [React Native, Flutter, Unity — Обработка ошибок](error-handling-on-flutter-react-native-unity).

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| errorMessage | String | Человекочитаемое описание ошибки |
| errorCode | Integer | Числовой код, идентифицирующий ошибку |
### AdaptyGetIntroEligibilitiesResult

Содержит результат выполнения пользовательского действия `getProductsIntroductoryOfferEligibility`.

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| value | List < Data ([AdaptyProductIntroEligibility](ff-resources#adaptyproductintroeligibility)) > | Список статусов доступности introductory offer для пользователя |
| error | Data ([AdaptyError](ff-resources#adaptyerror)) | Содержит детали ошибки через [`AdaptyError`](ff-resources#adaptyerror) |
### AdaptyGetPaywallResult

Содержит результат пользовательского действия `getPaywall`.

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| value | Data ([AdaptyPaywall](ff-resources#adaptypaywall)) | Содержит список объектов [AdaptyPaywall](ff-resources#adaptypaywall) |
| error | Data ([AdaptyError](ff-resources#adaptyerror)) | Содержит информацию об ошибке через [AdaptyError](ff-resources#adaptyerror) |
### AdaptyGetProductsResult

Содержит результат выполнения пользовательского действия `getPaywallProducts`.

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| value | List < Data ([AdaptyPaywallProduct](product)) > | Содержит список [AdaptyPaywallProducts](product) |
| error | Data ([AdaptyError](ff-resources#adaptyerror)) | Содержит информацию об ошибке через [AdaptyError](ff-resources#adaptyerror) |
### AdaptyGetProfileResult

Содержит результат выполнения пользовательского действия `getProfile`.

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| value | Data ([AdaptyProfile](ff-resources#adaptyprofile)) | Содержит профиль пользователя в виде [AdaptyProfile](ff-resources#adaptyprofile) |
| error | Data (AdaptyError) | Содержит информацию об ошибке через [AdaptyError](ff-resources#adaptyerror) |
### AdaptyMakePurchaseResult

Содержит результат пользовательского действия `makePurchase`.

| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| value | Data ([AdaptyProfile](ff-resources#adaptyprofile)) | Содержит профиль пользователя в виде [AdaptyProfile](ff-resources#adaptyprofile) |
| error | Data ([AdaptyError](ff-resources#adaptyerror)) | Содержит информацию об ошибке через [AdaptyError](ff-resources#adaptyerror) |
### AdaptyNonSubscription

Информация о покупках, не являющихся подписками. Это могут быть разовые (расходуемые) покупки, разблокировки (например, новая карта в игре) и т. д.
| Название поля | Тип | Описание |
|--------------------------|----------|-------------|
| isConsumable | Boolean | Указывает, является ли продукт расходуемой покупкой |
| isOneTime | Boolean | Указывает, является ли продукт разовой покупкой (например, если true, покупка обрабатывается только один раз) |
| isRefund | Boolean | Указывает, был ли выполнен возврат средств за продукт |
| isSandbox | Boolean | Указывает, была ли покупка совершена в среде песочницы |
| purchasedAt | DateTime | Время, когда был куплен продукт |
| purchaseId | String | ID покупки в Adapty. Можно использовать для отслеживания разовых покупок |
| store | String | Стор, в котором был куплен продукт (например, App Store, Google Play) |
| vendorProductId | String | ID продукта в системе поставщика |
| vendorTransactionId | String | ID транзакции в системе поставщика |
### AdaptyPaywall

Информация о [пейволе](paywalls).
| Название поля | Тип | Описание |
|----------------------|----------|-------------|
| abTestName | String | Название родительского A/B-теста |
| hasViewConfiguration | Boolean | Указывает, есть ли конфигурация отображения для пейвола |
| locale | String | ID локали пейвола |
| name | String | Название пейвола |
| placement.id | String | ID родительского плейсмента |
| remoteConfigString | String | Пользовательский словарь из дашборда Adapty, связанный с этим пейволом |
| placement.revision | Integer | Текущая ревизия/версия пейвола. Каждое изменение создаёт новую ревизию |
| variationId | String | ID варианта, используемый для атрибуции покупок этому пейволу |
| vendorProductIds | String | Массив ID продуктов, связанных с пейволом |
### AdaptyPaywallProduct

Информация о [продукте](product).
| Название поля        | Тип                                                          | Описание                                                     |
| -------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| vendorProductId      | String                                                       | Идентификатор продукта в сторе                               |
| localizedDescription | String                                                       | Описание продукта на языке пользователя                      |
| localizedTitle       | String                                                       | Название продукта на языке пользователя                      |
| regionCode           | String                                                       | Код региона локали, используемый для форматирования цены продукта (применяется для iOS) |
| isFamilyShareable    | Boolean                                                      | Булево значение, указывающее, доступен ли продукт для семейного доступа в App Store Connect. Всегда возвращает FALSE для iOS ниже версии 14.0 и macOS ниже версии 11.0 (применяется для iOS) |
| paywallVariationId   | String                                                       | Идентификатор варианта, используемый для атрибуции покупок к данному пейволу |
| paywallABTestName    | String                                                       | Название родительского A/B-теста                             |
| paywallName          | String                                                       | Название родительского пейвола                               |
| price                | Data ([AdaptyPriceData](#adaptyprice))                       | Цена продукта                                                |
| subscriptionDetails  | Data ([AdaptySubscriptionDetails](#adaptysubscriptiondetails)) | Информация о подписке                                        |
### AdaptyPrice

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

| Название поля   | Тип    | Описание                                   |
| --------------- | ------ | ------------------------------------------ |
| amount          | Double | Числовое значение цены                     |
| currencyCode    | String | Код валюты цены                            |
| currencySymbol  | String | Символ валюты                              |
| localizedString | String | Цена, отображаемая на языке пользователя   |
### AdaptyProductIntroEligibility

Определяет, имеет ли пользователь право на introductory offer для подписки iOS.
| Название поля   | Тип                                                         | Описание                                                     |
| --------------- | ----------------------------------------------------------- | ------------------------------------------------------------ |
| vendorProductId | String                                                      | Идентификатор продукта в сторе                               |
| eligibility     | [AdaptyEligibilityEnum](ff-resources#adaptyeligibilityenum) | Определяет, имеет ли пользователь право на introductory offer для подписки iOS |
### AdaptyProductNonsubscriptions

Детали активной неподписочной покупки, связанной с этим продуктом.
| Название поля    | Тип                                                         | Описание                                                     |
| ---------------- | ----------------------------------------------------------- | ------------------------------------------------------------ |
| productId       | String                                                      | Идентификатор продукта в сторе                              |
| nonsubscriptions | [AdaptyNonSubscription](ff-resources#adaptynonsubscription) | Информация о покупках без подписки. Это могут быть разовые (расходуемые) покупки, разблокировки контента (например, новая карта в игре) и т. д. |
### AdaptyProductSubscriptions

Детали активной подписки, привязанной к этому продукту.

| Название поля | Тип                                                   | Описание                                        |
| ------------- | ----------------------------------------------------- | ----------------------------------------------- |
| productId    | String                                                | ID продукта в сторе                             |
| subscription  | [AdaptySubscription](ff-resources#adaptysubscription) | Информация о покупках подписки |
### AdaptyProfile

Информация о профиле пользователя
| Название поля    | Тип                                                          | Описание                                                     |
| ---------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| accessLevels     | List < Data ([AdaptyAccessLevelIdentifiers](ff-resources#adaptyaccesslevelidentifiers)) > | Список всех уровней доступа, принадлежащих пользователю      |
| profileId        | String                                                       | ID профиля пользователя                                      |
| customerUserId   | String                                                       | ID пользователя в системе вендора                            |
| subscriptions    | List < Data ([MapKeySubscriptions](#mapkeysubscriptions)) >  | Список всех подписок, купленных пользователем                |
| nonSubscriptions | List < Data ([MapKeyNonSubscriptions](#mapkeynonsubscriptions)) > | Список всех продуктов без подписки, купленных пользователем  |
### AdaptyProfileParameters

Информация о пользователе.
| Название поля                 | Тип                                                          | Описание                                                     |
| ----------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| firstName                     | String                                                       | Имя пользователя                                             |
| lastName                      | String                                                       | Фамилия пользователя                                         |
| gender                        | [AdaptyGenderEnum](#adaptygenderenum)                        | Пол пользователя                                             |
| birthday                      | String                                                       | Дата рождения пользователя                                   |
| email                         | String                                                       | Email пользователя                                           |
| phoneNumber                   | String                                                       | Номер телефона пользователя                                  |
| facebookAnonymousId           | String                                                       | ID пользователя в [интеграции Facebook Ads](facebook-ads)    |
| amplitudeUserId               | String                                                       | ID пользователя в [интеграции Amplitude](amplitude)          |
| amplitudeDeviceId             | String                                                       | ID устройства пользователя в [интеграции Amplitude](amplitude) |
| mixpanelUserId                | String                                                       | ID пользователя в [интеграции Mixpanel](mixpanel)            |
| appmetricaProfileId           | String                                                       | ID пользователя в [интеграции AppMetrica](appmetrica)        |
| appmetricaDeviceId            | String                                                       | ID устройства пользователя в [интеграции AppMetrica](appmetrica) |
| oneSignalPlayerId             | String                                                       | ID пользователя в [интеграции OneSignal](onesignal)          |
| pushwooshHWID                 | String                                                       | ID устройства пользователя в [интеграции Pushwoosh](pushwoosh) |
| firebaseAppInstanceId         | String                                                       | ID пользователя в [интеграции Firebase](firebase-and-google-analytics) |
| airbridgeDeviceId             | String                                                       | ID устройства пользователя в [интеграции Airbridge](airbridge) |
| appTrackingTransparencyStatus | AdaptyATTStatus                                              | Статус доступа к IDFA (используется для iOS)                 |
| analyticsDisabled             | Boolean                                                      | Признак того, что внешняя [аналитика отключена для пользователя](analytics-integration#disabling-external-analytics-for-a-specific-customer) |
| customStringAttributes        | List < Data ([AdaptyCustomStringAttribute](ff-resources#adaptycustomstringattribute)) > | Список пользовательских строковых атрибутов пользователя     |
| customDoubleAttributes        | List < Data ([AdaptyCustomDoubleAttribute](ff-resources#adaptycustomdoubleattribute)) > | Список пользовательских числовых атрибутов пользователя      |
### AdaptySubscription

Информация о существующей подписке пользователя.
| Название поля               | Тип      | Описание                                                     |
| --------------------------- | -------- | ------------------------------------------------------------ |
| activatedAt                 | DateTime | Время активации подписки                                     |
| activeIntroductoryOfferType | String   | Тип активного introductory offer. Если задан, значит в течение данного периода подписки было применено предложение |
| activePromotionalOfferId    | String   | ID активного promotional offer (используется для iOS)        |
| activePromotionalOfferType  | String   | Тип активного promotional offer (используется для iOS). Если задан, значит в течение данного периода подписки было применено предложение |
| cancellationReason          | String   | Причина отмены подписки                                      |
| expiresAt                   | DateTime | Время истечения подписки                                     |
| renewedAt                   | DateTime | Время последнего продления подписки                          |
| unsubscribedAt              | DateTime | Время отключения автопродления подписки. Подписка при этом может оставаться активной. Если не задано — пользователь повторно активировал подписку |
| billingIssueDetectedAt      | DateTime | Время обнаружения проблемы с оплатой. Подписка при этом может оставаться активной. Сбрасывается в null при успешной обработке платежа |
| isActive                    | Boolean  | True, если подписка активна. Как правило, это поле используется для проверки доступа пользователя к премиум-функциям |
| isInGracePeriod             | Boolean  | True, если автовозобновляемая подписка находится в [льготном периоде](https://developer.apple.com/help/app-store-connect/manage-subscriptions/enable-billing-grace-period-for-auto-renewable-subscriptions) |
| isLifetime                  | Boolean  | True, если подписка действует бессрочно (без даты истечения) |
| isRefund                    | Boolean  | True, если покупка была возвращена                           |
| isSandbox                   | Boolean  | Указывает, была ли покупка совершена в среде песочницы       |
| offerId                     | String   | ID активного promotional offer (используется для Android)    |
| startsAt                    | DateTime | Время начала действия данного уровня доступа (может быть в будущем) |
| store                       | String   | Стор, в котором был куплен продукт (например, App Store, Google Play) |
| vendorOriginalTransactionId | String   | ID первоначальной подписки в системе вендора                 |
| vendorProductId             | String   | ID продукта в системе вендора                                |
| vendorTransactionId         | String   | ID транзакции в системе вендора                              |
| willRenew                   | Boolean  | True, если автовозобновляемая подписка настроена на продление |
### AdaptySubscriptionDetails

Схема объекта Subscription, являющегося частью [AdaptyPaywallProduct](product).
| Название поля                       | Тип                                                          | Описание                                                     |
| ----------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| androidBasePlanId                   | String                                                       | [ID базового плана](https://support.google.com/googleplay/android-developer/answer/12154973) в Google Play Store или [ID цены](https://docs.stripe.com/products-prices/how-products-and-prices-work#use-products-and-prices) в Stripe. |
| androidIntroductoryOfferEligibility | [AdaptyEligibilityEnum](ff-resources#adaptyeligibilityenum)  | Определяет, имеет ли пользователь право на introductory offer для iOS-подписки |
| androidOfferId                      | String                                                       | ID активного promotional offer (используется для Android)      |
| androidOfferTags                    | List < String >                                              | Список [пользовательских тегов](https://developers.google.com/android-publisher/api-ref/rest/v3/OfferTag), заданных для базовых планов и предложений по подписке. |
| introductoryOffer                   | List < Data ([AdaptySubscriptionPhase](ff-resources#adaptysubscriptionphase)) > | ID introductory offer (используется для iOS)                |
| localizedSubscriptionPeriod         | String                                                       | Период подписки на языке пользователя        |
| promotionalOffer                    | Data ([AdaptySubscriptionPhase](ff-resources#adaptysubscriptionphase)) | Детали promotional offer (используется для iOS)                  |
| promotionalOfferEligibility         | Boolean                                                      | Определяет, имеет ли пользователь право на promotional offer для iOS-подписки |
| promotionalOfferId                  | String                                                       | ID promotional offer (используется для iOS)                |
| renewalType                         | [AdaptyRenewalTypeEnum](#adaptyrenewaltypeenum)              | Определяет, является ли подписка автовозобновляемой, через [AdaptyRenewalTypeEnum](ff-resources#adaptyrenewaltypeenum) |
| subscriptionGroupIdentifier         | String                                                       | ID группы продуктов, к которой относится продукт (используется для iOS) |
| subscriptionPeriod                  | Data ([AdaptySubscriptionPeriod](#adaptysubscriptionperiod)) | Длительность подписки                             |
### AdaptySubscriptionPeriod

Длительность подписки.

| Название поля | Тип                                           | Описание                                                                     |
| ------------- | --------------------------------------------- | ---------------------------------------------------------------------------- |
| numberOfUnits | Integer                                       | Количество дней/недель/месяцев/лет, на которое оформляется подписка.         |
| unit          | [AdaptyPeriodUnitEnum](#adaptyperiodunitenum) | Единица измерения периода: дни, недели, месяцы, годы. |
### AdaptySubscriptionPhase

Представляет фазу подписки, например бесплатный пробный период или introductory offer.
| Название поля               | Тип                                                          | Описание                                                     |
| --------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| identifier                  | String                                                       | ID фазы                                                      |
| localizedNumberOfPeriods    | String                                                       | Длительность фазы. Например, предложение на 6 месяцев отобразится как `6 months` на языке пользователя. |
| localizedSubscriptionPeriod | String                                                       | Длительность подписки на языке пользователя, например `3 months`. |
| numberOfPeriods             | Integer                                                      | Количество периодов подписки в данной фазе. Например, предложение на 6 месяцев будет содержать два периода по 3 месяца. |
| paymentMode                 | [AdaptyPaymentModeEnum](#adaptypaymentmodeenum)              | Модель оплаты, используемая для данной фазы.                 |
| price                       | Data ([AdaptyPrice](#adaptyprice))                           | Цена данной фазы.                                            |
| subscriptionPeriod          | Data ([AdaptySubscriptionPeriod](#adaptysubscriptionperiod)) | Период подписки, на котором основана данная фаза.            |
### AdaptySubscriptionUpdateParameters

(*Только для Android*)
Параметры для замены одной подписки на другую.
| Поле | Тип | Описание |
| ---------- | ------------------------------------------------------------ | ---------- |
| oldSubVendorProductId | String | ID текущей подписки в Play Store, которую вы хотите заменить. |
| replacementMode | [AdaptySubscriptionUpdateReplacementMode](ff-resources#adaptysubscriptionupdatereplacementmode) | Enum, соответствующий значениям [`BillingFlowParams.ProrationMode`](https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.SubscriptionUpdateParams.ReplacementMode). |
### MapKeyNonSubscriptions

Замена словаря для [AdaptyNonSubscription](ff-resources#adaptynonsubscription).

| Название поля | Тип                                                                                                 |
| ------------- | --------------------------------------------------------------------------------------------------- |
| key           | String                                                                                              |
| value         | List < Data ([AdaptyNonSubscription](ff-resources#adaptynonsubscription)) >                         |
### MapKeySubscriptions

Замена словаря для [AdaptySubscription](ff-resources#adaptysubscription).

| Название поля | Тип                                                          |
| ------------- | ------------------------------------------------------------ |
| key           | String                                                       |
| value         | List < Data ([AdaptySubscription](ff-resources#adaptysubscription)) > |
## Перечисления \{#enums\}

Перечисления Adapty (переменные, представляющие собой наборы предопределённых констант), поставляемые во FlutterFlow с плагином Adapty.
### AdaptyEligibilityEnum

Определяет, имеет ли пользователь право на introductory offer для подписки iOS.

| Название поля | Описание |
|--------------|----------|
| eligible | Пользователь имеет право на introductory offer — можно безопасно отображать эту информацию в интерфейсе |
| ineligible | Пользователь не имеет права на получение какого-либо предложения — не следует показывать его в интерфейсе |
| notApplicable | Для этого продукта не настроено ни одного предложения |
### AdaptyGenderEnum

Определяет пол пользователя.

| Название поля | Описание                                        |
| ------------- | ----------------------------------------------- |
| none          | Пол не указан                                   |
| female        | Пол пользователя — женский                      |
| male          | Пол пользователя — мужской                      |
| Other         | Пользователь указал пол как «другой»            |
### AdaptyPaymentModeEnum

Определяет модель оплаты.
| Название поля | Описание |
| ------------- | -------- |
| payAsYouGo | Модель оплаты, при которой пользователь платит по факту использования продукта или сервиса, а не вносит фиксированную сумму заранее |
| payUpFront | Модель оплаты, при которой пользователь платит до получения продукта или сервиса |
| freeTrial | Пользователь находится на бесплатном пробном периоде |
| unknown | Модель оплаты не определена |
### AdaptyPeriodUnitEnum

Определяет единицы измерения периодов.

| Название поля | Описание         |
| ------------- | ---------------- |
| day           | В днях           |
| week          | В неделях        |
| month         | В месяцах        |
| year          | В годах          |
| unknown       | Не определено    |
### AdaptyRenewalTypeEnum

Определяет, является ли подписка автоматически возобновляемой.

| Field Name    | Description                                              |
| ------------- | -------------------------------------------------------- |
| prepaid       | Подписка является предоплаченной и не возобновляется автоматически. |
| autorenewable | Подписка является автоматически возобновляемой.          |
### AdaptySubscriptionUpdateReplacementMode

Определяет режим обновления подписки для Android.
| Название поля | Описание |
| ------------- | -------- |
| withTimeProration | (по умолчанию) Новый план вступает в силу немедленно, оставшееся время пересчитывается и зачисляется на счёт пользователя. |
| chargeProratedPrice | Новый план вступает в силу немедленно, расчётный период остаётся прежним. Списывается оплата за оставшийся период. Доступно только при повышении уровня подписки. |
| withoutProration | Новый план вступает в силу немедленно, новая цена будет списана в следующую дату продления. Расчётный период остаётся прежним. |
| deferred | Новая покупка оформляется немедленно, но новый план вступает в силу после истечения текущего. |
| chargeFullPrice | Новый план вступает в силу немедленно, расчётный период остаётся прежним. Списывается полная стоимость за оставшийся период. Доступно только при повышении уровня подписки. |
### Состояния приложения \{#app-states\}

Переменные состояния приложения — это специальные переменные, которые хранят текущее состояние приложения. Они доступны и могут изменяться в любом месте приложения: на всех страницах и во всех компонентах. Такой тип переменных удобен для хранения данных, которые нужно передавать между разными частями приложения, — например, пользовательских настроек или токенов аутентификации.
| Название поля  | Тип данных                                         | Сохраняется | Описание                                                     |
| -------------- | -------------------------------------------------- | ----------- | ------------------------------------------------------------ |
| currentProfile | Data ([AdaptyProfile](ff-resources#adaptyprofile)) | False       | Переменная, содержащая информацию о текущем профиле пользователя. Поддерживайте её в актуальном состоянии. |