UNPKG

@qonversion/capacitor-plugin

Version:

Qonversion provides full in-app purchases infrastructure, so you do not need to build your own server for receipt validation. Implement in-app subscriptions, validate user receipts, check subscription status, and provide access to your app features and co

390 lines (389 loc) 14.4 kB
export declare enum LaunchMode { ANALYTICS = "Analytics", SUBSCRIPTION_MANAGEMENT = "SubscriptionManagement" } export declare enum Environment { SANDBOX = "Sandbox", PRODUCTION = "Production" } export declare enum ProductType { TRIAL = "Trial", INTRO = "Intro",/** Currently works for Android only. iOS support will be added soon. */ SUBSCRIPTION = "Subscription", IN_APP = "InApp", UNKNOWN = "Unknown" } export declare enum SubscriptionPeriodUnit { DAY = "Day", WEEK = "Week", MONTH = "Month", YEAR = "Year", UNKNOWN = "Unknown" } /** * Recurrence mode of the pricing phase. */ export declare enum PricingPhaseRecurrenceMode { /** * The billing plan payment recurs for infinite billing periods unless canceled. */ INFINITE_RECURRING = "InfiniteRecurring", /** * The billing plan payment recurs for a fixed number of billing periods * set in {@link ProductPricingPhase.billingCycleCount}. */ FINITE_RECURRING = "FiniteRecurring", /** * The billing plan payment is a one-time charge that does not repeat. */ NON_RECURRING = "NonRecurring", /** * Unknown recurrence mode. */ UNKNOWN = "Unknown" } /** * Type of the pricing phase. */ export declare enum PricingPhaseType { /** * Regular subscription without any discounts like trial or intro offers. */ REGULAR = "Regular", /** * A free phase. */ FREE_TRIAL = "FreeTrial", /** * A phase with a discounted payment for a single period. */ DISCOUNTED_SINGLE_PAYMENT = "DiscountedSinglePayment", /** * A phase with a discounted payment for several periods, described in {@link ProductPricingPhase.billingCycleCount}. */ DISCOUNTED_RECURRING_PAYMENT = "DiscountedRecurringPayment", /** * Unknown pricing phase type. */ UNKNOWN = "Unknown" } export declare enum EntitlementRenewState { NON_RENEWABLE = "non_renewable", UNKNOWN = "unknown", WILL_RENEW = "will_renew", CANCELED = "canceled", BILLING_ISSUE = "billing_issue" } export declare enum EntitlementSource { UNKNOWN = "Unknown", APP_STORE = "AppStore", PLAY_STORE = "PlayStore", STRIPE = "Stripe", MANUAL = "Manual" } export declare enum TransactionEnvironment { PRODUCTION = "Production", SANDBOX = "Sandbox" } export declare enum TransactionOwnershipType { OWNER = "Owner", FAMILY_SHARING = "FamilySharing" } export declare enum EntitlementGrantType { PURCHASE = "Purchase", FAMILY_SHARING = "FamilySharing", OFFER_CODE = "OfferCode", MANUAL = "Manual" } export declare enum TransactionType { UNKNOWN = "Unknown", SUBSCRIPTION_STARTED = "SubscriptionStarted", SUBSCRIPTION_RENEWED = "SubscriptionRenewed", TRIAL_STARTED = "TrialStarted", INTRO_STARTED = "IntroStarted", INTRO_RENEWED = "IntroRenewed", NON_CONSUMABLE_PURCHASE = "NonConsumablePurchase" } export declare enum UserPropertyKey { EMAIL = "Email", NAME = "Name", KOCHAVA_DEVICE_ID = "KochavaDeviceId", APPS_FLYER_USER_ID = "AppsFlyerUserId", ADJUST_AD_ID = "AdjustAdId", CUSTOM_USER_ID = "CustomUserId", FACEBOOK_ATTRIBUTION = "FacebookAttribution",// Android only FIREBASE_APP_INSTANCE_ID = "FirebaseAppInstanceId", APP_SET_ID = "AppSetId",// Android only ADVERTISING_ID = "AdvertisingId",// iOS only APP_METRICA_DEVICE_ID = "AppMetricaDeviceId", APP_METRICA_USER_PROFILE_ID = "AppMetricaUserProfileId", PUSH_WOOSH_HW_ID = "PushWooshHwId", PUSH_WOOSH_USER_ID = "PushWooshUserId", TENJIN_ANALYTICS_INSTALLATION_ID = "TenjinAnalyticsInstallationId", CUSTOM = "Custom" } export declare enum AttributionProvider { APPSFLYER = "AppsFlyer", BRANCH = "Branch", ADJUST = "Adjust", APPLE_SEARCH_ADS = "AppleSearchAds",// ios only APPLE_AD_SERVICES = "AppleAdServices" } /** * A policy used for purchase updates on Android, which describes * how to migrate from purchased plan to a new one. * * Used in {@link PurchaseOptions} class for purchase updates. */ export declare enum PurchaseUpdatePolicy { /** * The new plan takes effect immediately, and the user is charged full price of new plan * and is given a full billing cycle of subscription, plus remaining prorated time * from the old plan. */ CHARGE_FULL_PRICE = "ChargeFullPrice", /** * The new plan takes effect immediately, and the billing cycle remains the same. */ CHARGE_PRORATED_PRICE = "ChargeProratedPrice", /** * The new plan takes effect immediately, and the remaining time will be prorated * and credited to the user. */ WITH_TIME_PRORATION = "WithTimeProration", /** * The new purchase takes effect immediately, the new plan will take effect * when the old item expires. */ DEFERRED = "Deferred", /** * The new plan takes effect immediately, and the new price will be charged * on next recurrence time. */ WITHOUT_PRORATION = "WithoutProration", /** * Unknown police. */ UNKNOWN = "Unknown" } export declare enum EntitlementsCacheLifetime { WEEK = "Week", TWO_WEEKS = "TwoWeeks", MONTH = "Month", TWO_MONTHS = "TwoMonths", THREE_MONTHS = "ThreeMonths", SIX_MONTHS = "SixMonths", YEAR = "Year", UNLIMITED = "Unlimited" } export declare const SKPeriodUnit: { readonly 0: "DAY"; readonly 1: "WEEK"; readonly 2: "MONTH"; readonly 3: "YEAR"; }; export type SKPeriodUnits = typeof SKPeriodUnit[keyof typeof SKPeriodUnit]; export declare const SKProductDiscountType: { readonly 0: "INTRODUCTORY"; readonly 1: "SUBSCRIPTION"; }; export type SKProductDiscountTypes = typeof SKProductDiscountType[keyof typeof SKProductDiscountType]; export declare const SKProductDiscountPaymentMode: { readonly 0: "PAY_AS_YOU_GO"; readonly 1: "PAY_UP_FRONT"; readonly 2: "FREE_TRIAL"; }; export type SKProductDiscountPaymentModes = typeof SKProductDiscountPaymentMode[keyof typeof SKProductDiscountPaymentMode]; export declare const OfferingTag: { readonly "-1": "UNKNOWN"; readonly "0": "NONE"; readonly "1": "MAIN"; }; export type OfferingTags = typeof OfferingTag[keyof typeof OfferingTag]; export declare enum IntroEligibilityStatus { UNKNOWN = "unknown", NON_INTRO_OR_TRIAL_PRODUCT = "non_intro_or_trial_product", ELIGIBLE = "intro_or_trial_eligible", INELIGIBLE = "intro_or_trial_ineligible" } export declare enum ExperimentGroupType { UNKNOWN = "unknown", CONTROL = "control", TREATMENT = "treatment" } export declare enum RemoteConfigurationSourceType { UNKNOWN = "unknown", EXPERIMENT_CONTROL_GROUP = "experiment_control_group", EXPERIMENT_TREATMENT_GROUP = "experiment_treatment_group", REMOTE_CONFIGURATION = "remote_configuration" } export declare enum RemoteConfigurationAssignmentType { UNKNOWN = "unknown", AUTO = "auto", MANUAL = "manual" } export declare enum ActionType { /** * Unspecified action type */ UNKNOWN = "unknown", /** * URL action that opens the URL using SafariViewController */ URL = "url", /** * Deeplink action that opens if Application can open specified deeplink */ DEEPLINK = "deeplink", /** * Navigation to another No-Codes screen */ NAVIGATION = "navigation", /** * Purchase the product */ PURCHASE = "purchase", /** * Restore all purchases */ RESTORE = "restore", /** * Close current screen */ CLOSE = "close", /** * Close all No-Code screens */ CLOSE_ALL = "closeAll" } export declare enum ScreenPresentationStyle { /** * on Android - default screen transaction animation will be used. * on iOS - not a modal presentation. This style pushes a controller to a current navigation stack. * For iOS NavigationController on the top of the stack is required. */ PUSH = "Push", /** * on Android - screen will move from bottom to top. * on iOS - UIModalPresentationFullScreen analog. */ FULL_SCREEN = "FullScreen", /** * iOS only - UIModalPresentationPopover analog */ POPOVER = "Popover", /** * Android only - screen will appear/disappear without any animation. * For iOS consider providing the {@link ScreenPresentationConfig.animated} flag. */ NO_ANIMATION = "NoAnimation" } export declare enum NoCodesErrorCode { UNKNOWN = "Unknown", BAD_NETWORK_REQUEST = "BadNetworkRequest", BAD_RESPONSE = "BadResponse", ACTIVITY_START = "ActivityStart",// Android NETWORK_REQUEST_EXECUTION = "NetworkRequestExecution",// Android SERIALIZATION = "Serialization",// Android DESERIALIZATION = "Deserialization",// Android REQUEST_DENIED = "RequestDenied",// Android MAPPING = "Mapping",// Android BACKEND_ERROR = "BackendError",// Android SCREEN_NOT_FOUND = "ScreenNotFound",// Android QONVERSION_ERROR = "QonversionError", INTERNAL = "Internal",// iOS AUTHORIZATION_FAILED = "AuthorizationFailed",// iOS CRITICAL = "Critical",// iOS PRODUCT_NOT_FOUND = "ProductNotFound",// iOS PRODUCTS_LOADING_FAILED = "ProductsLoadingFailed",// iOS RATE_LIMIT_EXCEEDED = "RateLimitExceeded",// iOS SCREEN_LOADING_FAILED = "ScreenLoadingFailed",// iOS SDK_INITIALIZATION_ERROR = "SDKInitializationError" } export declare enum PurchaseResultStatus { /** * The purchase was successful. */ SUCCESS = "Success", /** * The purchase was canceled by the user. */ USER_CANCELED = "UserCanceled", /** * The purchase is pending (e.g., waiting for parental approval). */ PENDING = "Pending", /** * An error occurred during the purchase. */ ERROR = "Error" } export declare enum PurchaseResultSource { /** * The result was obtained from the Qonversion API. */ API = "Api", /** * The result was obtained from the local store. */ LOCAL = "Local" } export declare enum QonversionErrorCode { UNKNOWN = "Unknown",// Unknown error API_RATE_LIMIT_EXCEEDED = "ApiRateLimitExceeded",// API requests rate limit exceeded APPLE_STORE_ERROR = "AppleStoreError",// Apple Store error received BACKEND_ERROR = "BackendError",// There was a backend error BILLING_UNAVAILABLE = "BillingUnavailable",// The Billing service is unavailable on the device CLIENT_INVALID = "ClientInvalid",// Client is not allowed to issue the request, etc CLOUD_SERVICE_NETWORK_CONNECTION_FAILED = "CloudServiceNetworkConnectionFailed",// The device could not connect to the network CLOUD_SERVICE_PERMISSION_DENIED = "CloudServicePermissionDenied",// User is not allowed to access cloud service information CLOUD_SERVICE_REVOKED = "CloudServiceRevoked",// User has revoked permission to use this cloud service FAILED_TO_RECEIVE_DATA = "FailedToReceiveData",// Could not receive data FEATURE_NOT_SUPPORTED = "FeatureNotSupported",// The requested feature is not supported FRAUD_PURCHASE = "FraudPurchase",// Fraud purchase was detected INCORRECT_REQUEST = "IncorrectRequest",// Request failed INTERNAL_ERROR = "InternalError",// Internal backend error INVALID_CLIENT_UID = "InvalidClientUid",// Client Uid is invalid or not set INVALID_CREDENTIALS = "InvalidCredentials",// Access token is invalid or not set INVALID_STORE_CREDENTIALS = "InvalidStoreCredentials",// This account does not have access to the requested application LAUNCH_ERROR = "LaunchError",// There was an error while launching Qonversion SDK NETWORK_CONNECTION_FAILED = "NetworkConnectionFailed",// There was a network issue. Make sure that the Internet connection is available on the device OFFERINGS_NOT_FOUND = "OfferingsNotFound",// No offerings found PAYMENT_INVALID = "PaymentInvalid",// Purchase identifier was invalid, etc. PAYMENT_NOT_ALLOWED = "PaymentNotAllowed",// This device is not allowed to make the payment PLAY_STORE_ERROR = "PlayStoreError",// There was an issue with the Play Store service PRIVACY_ACKNOWLEDGEMENT_REQUIRED = "PrivacyAcknowledgementRequired",// User needs to acknowledge Apple's privacy policy PRODUCT_ALREADY_OWNED = "ProductAlreadyOwned",// Failed to purchase since item is already owned PRODUCT_NOT_FOUND = "ProductNotFound",// Failed to purchase since the Qonversion product was not found PRODUCT_NOT_OWNED = "ProductNotOwned",// Failed to consume purchase since item is not owned PROJECT_CONFIG_ERROR = "ProjectConfigError",// The project is not configured or configured incorrectly in the Qonversion Dashboard PURCHASE_CANCELED = "PurchaseCanceled",// User pressed back or canceled a dialog for purchase PURCHASE_INVALID = "PurchaseInvalid",// Failure of purchase PURCHASE_PENDING = "PurchasePending",// Purchase is pending PURCHASE_UNSPECIFIED = "PurchaseUnspecified",// Unspecified state of the purchase RECEIPT_VALIDATION_ERROR = "ReceiptValidationError",// Receipt validation error REMOTE_CONFIGURATION_NOT_AVAILABLE = "RemoteConfigurationNotAvailable",// Remote configuration is not available for the current user or for the provided context key RESPONSE_PARSING_FAILED = "ResponseParsingFailed",// A problem occurred while serializing or deserializing data STORE_PRODUCT_NOT_AVAILABLE = "StoreProductNotAvailable",// Requested product is not available for purchase or its product id was not found UNAUTHORIZED_REQUEST_DATA = "UnauthorizedRequestData",// App is attempting to use SKPayment's requestData property, but does not have the appropriate entitlement UNKNOWN_CLIENT_PLATFORM = "UnknownClientPlatform" } /** * Theme mode for No-Code screens. * Use this to control how screens adapt to light/dark themes. */ export declare enum NoCodesTheme { /** * Automatically follow the device's system appearance (default). * The screen will use light theme in light mode and dark theme in dark mode. */ AUTO = "auto", /** * Force light theme regardless of device settings. */ LIGHT = "light", /** * Force dark theme regardless of device settings. */ DARK = "dark" }