Interfaces
AdaptyOnboarding
Information about an onboarding.
| Name | Type | Description |
|---|
| placement | AdaptyPlacement | Placement information for the onboarding |
| instanceIdentity | string | Unique identifier of the onboarding configuration |
| variationId | string | An identifier of a variation, used to attribute events to this onboarding |
| name | string | Name of the onboarding flow |
| remoteConfig | AdaptyRemoteConfig (optional) | Optional custom metadata for the onboarding |
| hasViewConfiguration | bool | Whether the onboarding has view configuration available |
| viewConfiguration | AdaptyOnboarding.ViewConfiguration | Visual configuration settings |
AdaptyOnboardingScreen
| Name | Type | Description |
|---|
| id | String | Unique identifier for the screen |
| order | Int | Position of the screen in the flow |
| content | AdaptyOnboardingContent | Content to display on the screen |
| actions | [AdaptyOnboardingAction] | Available actions for this screen |
AdaptyOnboarding.ViewConfiguration
| Name | Type | Description |
|---|
| responseLocale | AdaptyLocale | The locale of the response |
| url | URL | Configuration URL for the onboarding |
AdaptyPaywallProduct
An information about a product.
| Name | Type | Description |
|---|
| adaptyProductId | string | Unique identifier of the product in Adapty |
| vendorProductId | string | Unique identifier of a product from App Store Connect or Google Play Console |
| paywallProductIndex | int | Index of the product within the paywall |
| variationId | string | Same as variationId property of the parent AdaptyPaywall |
| paywallABTestName | string | Same as abTestName property of the parent AdaptyPaywall |
| paywallName | string | Same as name property of the parent AdaptyPaywall |
| subscriptionOffer | AdaptySubscriptionOffer (optional) | The active subscription offer for this product (introductory, promotional, or win-back) |
| webPaywallBaseUrl | URL (optional) | Base URL for web paywall functionality |
| currencyCode | string (optional) | The currency code of the locale used to format the price of the product. |
| currencySymbol | string (optional) | The currency symbol of the locale used to format the price of the product. |
| isFamilyShareable | bool | A Boolean value that indicates whether the product is available for family sharing in App Store Connect. (Will be false for iOS version below 14.0 and macOS version below 11.0). |
| localizedDescription | string | A description of the product. |
| localizedPrice | string (optional) | The price's language is determined by the preferred language set on the device. |
| localizedSubscriptionPeriod | string (optional) | The period's language is determined by the preferred language set on the device. |
| localizedTitle | string | The name of the product. |
| price | number | The cost of the product in the local currency. |
| regionCode | string (optional) | The region code of the locale used to format the price of the product. |
| subscriptionGroupIdentifier | string (optional) | The identifier of the subscription group to which the subscription belongs. (Will be nil for iOS version below 12.0 and macOS version below 10.14). |
| subscriptionPeriod | AdaptyProductSubscriptionPeriod (optional) | The period details for products that are subscriptions. (Will be nil for iOS version below 11.2 and macOS version below 10.14.4). |
AdaptySubscriptionOffer
An information about a subscription offer.
| Name | Type | Description |
|---|
| identifier | string (optional) | Unique identifier of a discount offer for a product |
| offerType | enum | Type of offer. Possible values are introductory, promotional, winBack |
| subscriptionPeriod | AdaptyProductSubscriptionPeriod | Period details for the offer |
| numberOfPeriods | number | The number of periods this product discount is available |
| paymentMode | enum | The payment mode for this product discount. Possible values are payAsYouGo, payUpFront, freeTrial, unknown |
| localizedSubscriptionPeriod | string (optional) | A formatted subscription period of a discount for a user's locale |
| localizedNumberOfPeriods | string (optional) | A formatted number of periods of a discount for a user's locale |
| price | number | The discount price in the local currency |
| currencyCode | string (optional) | The currency code of the locale used to format the price of the product |
| localizedPrice | string (optional) | A formatted price of a discount for a user's locale |
AdaptySubscriptionOffer.OfferType
Enum representing the type of subscription offer.
| Value | Description |
|---|
introductory | Introductory offer (first-time user discount) |
promotional | Promotional offer (targeted discount) |
winBack | Win-back offer (re-engagement discount) |
AdaptySubscriptionOffer.PaymentMode
Enum representing the payment mode for subscription offers.
| Value | Description |
|---|
payAsYouGo | Pay as you go (recurring payments) |
payUpFront | Pay up front (one-time payment for multiple periods) |
freeTrial | Free trial (no payment required) |
unknown | Unknown payment mode |
AdaptyProductSubscriptionPeriod
| Name | Type | Description |
|---|
| unit | AdaptyPeriodUnit | A unit of time that a subscription period is specified in. The possible values are: day, week, month, year and unknown |
| numberOfUnits | number | A number of period units |
AdaptyProductSubscriptionPeriod.Unit
Enum representing the unit of time for subscription periods.
| Value | Description |
|---|
day | Daily subscription period |
week | Weekly subscription period |
month | Monthly subscription period |
year | Yearly subscription period |
unknown | Unknown period unit |
AdaptyPaywall.ViewConfiguration
| Name | Type | Description |
|---|
| responseLocale | AdaptyLocale | The locale of the response |
| url | URL | Configuration URL for the paywall |
AdaptyProductIdentifier
(Flutter only)
A structured representation of a product identifier in the Flutter SDK, providing more information than simple string identifiers.
| Name | Type | Description |
|---|
| vendorProductId | string | The vendor product ID from the store (App Store Connect or Google Play Console). |
AdaptyPaywall
An information about a paywall.
| Name | Type | Description |
|---|
| placement | AdaptyPlacement | Placement information for the paywall |
| instanceIdentity | string | An identifier of a paywall, configured in Adapty Dashboard |
| variationId | string | An identifier of a variation, used to attribute purchases to this paywall |
| name | string | Paywall name |
| remoteConfig | AdaptyRemoteConfig (optional) | A custom configuration configured in Adapty Dashboard for this paywall |
| hasViewConfiguration | bool | Whether the paywall has view configuration available |
| viewConfiguration | AdaptyPaywall.ViewConfiguration (optional) | View configuration for the paywall |
| vendorProductIds | array of strings | Array of related products ids |
| webPaywallBaseUrl | URL (optional) | For more information, see the guide on how to implement a web paywall in your app. |
AdaptyProfile
An information about a user's subscription status and purchase history.
| Name | Type | Description |
|---|
| profileId | string | An identifier of a user in Adapty |
| customerUserId | string (Optional) | An identifier of a user in your system |
| customAttributes | dictionary | Previously set user custom attributes with .updateProfile() method |
| accessLevels | dictionary<string, AccessLevel> | The keys are access level identifiers configured by you in Adapty Dashboard. The values are Can be null if the customer has no access levels |
| subscriptions | dictionary<string, Subscription > | The keys are product ids from a store. The values are information about subscriptions. Can be null if the customer has no subscriptions |
| nonSubscriptions | dictionary<string, [NonSubscription ]> | The keys are product ids from the store. The values are arrays of information about consumables. Can be null if the customer has no purchases. |
AdaptyProfile.AccessLevel
Information about the user's access level.
| Name | Type | Description |
|---|
| id | string | Unique identifier of the access level configured by you in Adapty Dashboard |
| isActive | boolean | True if this access level is active. Generally, you can check this property to determine wether a user has an access to premium features |
| vendorProductId | string | An identifier of a product in a store that unlocked this access level |
| store | string | A store of the purchase that unlocked this access level. Possible values are `'app_store' |
| activatedAt | Date | Time when this access level was activated. |
| startsAt | Date (optional) | Time when this access level has started (could be in the future). |
| renewedAt | Date (optional) | Time when the access level was renewed. |
| expiresAt | Date (optional) | Time when the access level will expire (could be in the past and could be null for lifetime access). |
| isLifetime | boolean | True if this access level is active for a lifetime (no expiration date) |
| willRenew | boolean | True if this auto-renewable subscription is set to renew |
| isInGracePeriod | boolean | True if this auto-renewable subscription is in the grace period |
| unsubscribedAt | Date (optional) | Time when the auto-renewable subscription was cancelled. Subscription can still be active, it just means that auto-renewal turned off. Will be set to null if the user reactivates the subscription. |
| billingIssueDetectedAt | Date (optional) | Time when billing issue was detected. Subscription can still be active. Would be set to null if a charge is made. |
| cancellationReason | string (Optional) | A reason why a subscription was cancelled. Possible values are `'voluntarily_cancelled' |
| isRefund | boolean | True if this purchase was refunded |
| activeIntroductoryOfferType | string (Optional) | A type of an active introductory offer. If the value is not null, it means that the offer was applied during the current subscription period. Possible values: `'free_trial' |
| activePromotionalOfferType | string (Optional) | A type of an active promotional offer. If the value is not null, it means that the offer was applied during the current subscription period. Possible values `'free_trial' |
| activePromotionalOfferId | string (Optional) | An id of active promotional offer |
| offerId | string (Optional) | An id of active offer |
| startsAt | Date (optional) | Time when this access level has started (could be in the future) |
AdaptyProfile.Subscription
Information about the user's subscription.
| Name | Type | Description |
|---|
| store | string | A store of the purchase that unlocked this subscription. Possible values are `'app_store' |
| vendorProductId | string | An identifier of a product in a store that unlocked this subscription |
| vendorTransactionId | string | A transaction id of a purchase in a store that unlocked this subscription |
| vendorOriginalTransactionId | string | An original transaction id of the purchase in a store that unlocked this subscription. For auto-renewable subscription, this will be an id of the first transaction in this subscription |
| isActive | boolean | True if the subscription is active |
| isLifetime | boolean | True if the subscription is active for a lifetime (no expiration date) |
| activatedAt | Date | Time when the subscription was activated. |
| renewedAt | Date (optional) | Time when the subscription was renewed. |
| expiresAt | Date (optional) | Time when the subscription will expire (could be in the past and could be null for a lifetime access). |
| startsAt | Date (optional) | Time when the subscription has started (could be in the future). |
| unsubscribedAt | Date (optional) | Time when the auto-renewable subscription was cancelled. Subscription can still be active, it means that auto-renewal is turned off. Would be null if a user reactivates the subscription |
| billingIssueDetectedAt | Date (optional) | Time when a billing issue was detected. Subscription can still be active |
| willRenew | boolean | True if the auto-renewable subscription is set to renew |
| isInGracePeriod | boolean | Whether the auto-renewable subscription is in a grace period |
| cancellationReason | string (Optional) | A reason why the subscription was cancelled. Possible values: `'voluntarily_cancelled' |
| isRefund | bool | True if the purchase was refunded |
| activeIntroductoryOfferType | string (Optional) | A type of an active introductory offer. If the value is not null, it means that the offer was applied during the current subscription period. Possible values: `'free_trial' |
| activePromotionalOfferType | string (Optional) | A type of an active promotional offer. If the value is not null, it means that the offer was applied during the current subscription period. Possible values: `'free_trial' |
| activePromotionalOfferId | string (Optional) | An id of an active promotional offer |
| offerId | string (Optional) | An id of active offer |
| isSandbox | bool | True if the product was purchased in a sandbox environment |
AdaptyProfile.NonSubscription
Information about the user's non-subscription purchases.
| Name | Type | Description |
|---|
| purchaseId | string | An identifier of the purchase in Adapty. You can use it to ensure that you've already processed this purchase (for example tracking one time products) |
| vendorProductId | string | An identifier of the product in a store |
| vendorTransactionId | string (optional) | Transaction ID in a store |
| store | string | A store of the purchase. Possible values are `'app_store' |
| purchasedAt | Date | Date when the product was purchased |
| isRefund | boolean | True if the purchase was refunded |
| isConsumable | boolean | True if the product is consumable (should only be processed once) |
| isSandbox | boolean | True if the product was purchased in a sandbox environment |
AdaptySubscriptionUpdateParameters
(Android only)
Parameters to change one subscription to another.
| Name | Type | Description |
|---|
| oldSubVendorProductId | string | The identifier of the current subscription in Play Market that needs to be replaced. |
| ReplacementMode | enum | Enum that corresponds to BillingFlowParams.ProrationMode values. |
AdaptyPlacement
Information about a placement configuration.
| Name | Type | Description |
|---|
| id | string | Unique identifier of the placement |
| audienceName | string | Name of the audience for this placement |
| revision | number | Current revision (version) of the placement |
| abTestName | string | Parent A/B test name |
AdaptyRemoteConfig
Information about remote configuration for a placement.
| Name | Type | Description |
|---|
| locale | string | The locale identifier |
| jsonString | string | A custom JSON string configured in Adapty Dashboard |
| dictionary | [String: Any]? | A custom dictionary configured in Adapty Dashboard (same as jsonString) |