Hierarchy

  • default

Constructors

Properties

BILLING_FEATURE: typeof BILLING_FEATURE = BILLING_FEATURE

Enum for billing features. Currently, these are only relevant for Google Play Android users: https://developer.android.com/reference/com/android/billingclient/api/BillingClient.FeatureType

ENTITLEMENT_VERIFICATION_MODE: typeof ENTITLEMENT_VERIFICATION_MODE = ENTITLEMENT_VERIFICATION_MODE

Enum of entitlement verification modes.

INTRO_ELIGIBILITY_STATUS: typeof INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS

Enum of different possible states for intro price eligibility status.

IN_APP_MESSAGE_TYPE: typeof IN_APP_MESSAGE_TYPE = IN_APP_MESSAGE_TYPE

List of valid in app message types.

LOG_LEVEL: typeof LOG_LEVEL = LOG_LEVEL

List of valid log levels.

PACKAGE_TYPE: typeof PACKAGE_TYPE = PACKAGE_TYPE

Enumeration of all possible Package types.

PRODUCT_CATEGORY: typeof PRODUCT_CATEGORY = PRODUCT_CATEGORY

Supported product categories.

PRORATION_MODE: typeof PRORATION_MODE = PRORATION_MODE

Replace SKU's ProrationMode.

PURCHASES_ERROR_CODE: typeof PURCHASES_ERROR_CODE = PURCHASES_ERROR_CODE

Enum of all error codes the SDK produces.

PURCHASE_TYPE: typeof PURCHASE_TYPE = PURCHASE_TYPE

Supported SKU types.

@deprecated, use PRODUCT_CATEGORY

REFUND_REQUEST_STATUS: typeof REFUND_REQUEST_STATUS = REFUND_REQUEST_STATUS

Enum with possible return states for beginning refund request.

VERIFICATION_RESULT: typeof VERIFICATION_RESULT = VERIFICATION_RESULT

The result of the verification process.

Methods

  • Sets a function to be called on purchases initiated on the Apple App Store. This is only used in iOS.

    Parameters

    • shouldPurchasePromoProductListener: ShouldPurchasePromoProductListener

      Called when a user initiates a promotional in-app purchase from the App Store. If your app is able to handle a purchase at the current time, run the deferredPurchase function. If the app is not in a state to make a purchase: cache the deferredPurchase, then call the deferredPurchase when the app is ready to make the promotional purchase. If the purchase should never be made, you don't need to ever call the deferredPurchase and the app will not proceed with promotional purchases.

    Returns void

  • iOS 15+ only. Presents a refund request sheet in the current window scene for the latest transaction associated with the active entitlement.

    If the request was unsuccessful, no active entitlements could be found for the user, or multiple active entitlements were found for the user, the promise will return an error. If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    Important: This method should only be used if your user can only have a single active entitlement at a given time. If a user could have more than one entitlement at a time, use beginRefundRequestForEntitlement instead.

    Returns

    Returns REFUND_REQUEST_STATUS: The status of the refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    Returns Promise<REFUND_REQUEST_STATUS>

  • iOS 15+ only. Presents a refund request sheet in the current window scene for the latest transaction associated with the entitlement.

    If the request was unsuccessful, the promise will return an error. If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    Returns

    Returns REFUND_REQUEST_STATUS: The status of the refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    Parameters

    Returns Promise<REFUND_REQUEST_STATUS>

  • iOS 15+ only. Presents a refund request sheet in the current window scene for the latest transaction associated with the product.

    If the request was unsuccessful, the promise will return an error. If called in an unsupported platform (Android or iOS < 15), an UnsupportedPlatformException will be thrown.

    Returns

    Returns a REFUND_REQUEST_STATUS: The status of the refund request. Keep in mind the status could be REFUND_REQUEST_STATUS.USER_CANCELLED

    Parameters

    Returns Promise<REFUND_REQUEST_STATUS>

  • Check if billing is supported for the current user (meaning IN-APP purchases are supported) and optionally, whether a list of specified feature types are supported.

    Note: Billing features are only relevant to Google Play Android users. For other stores and platforms, billing features won't be checked.

    Returns

    promise with boolean response. True if billing is supported, false otherwise.

    Parameters

    • features: BILLING_FEATURE[] = []

      An array of feature types to check for support. Feature types must be one of [BILLING_FEATURE]. By default, is an empty list and no specific feature support will be checked.

    Returns Promise<boolean>

  • iOS only. Computes whether or not a user is eligible for the introductory pricing period of a given product. You should use this method to determine whether or not you show the user the normal product price or the introductory price. This also applies to trials (trials are considered a type of introductory pricing).

    Note

    Subscription groups are automatically collected for determining eligibility. If RevenueCat can't definitively compute the eligibility, most likely because of missing group information, it will return INTRO_ELIGIBILITY_STATUS_UNKNOWN. The best course of action on unknown status is to display the non-intro pricing, to not create a misleading situation. To avoid this, make sure you are testing with the latest version of iOS so that the subscription group can be collected by the SDK. Android always returns INTRO_ELIGIBILITY_STATUS_UNKNOWN.

    Returns

    A map of IntroEligility per productId. The promise will be rejected if configure has not been called yet or if there's in an error checking eligibility.

    Parameters

    • productIdentifiers: string[]

      Array of product identifiers for which you want to compute eligibility

    Returns Promise<{
        [productId: string]: IntroEligibility;
    }>

  • Automatically collect subscriber attributes associated with the device identifiers. $idfa, $idfv, $ip on iOS $gpsAdId, $androidId, $ip on Android

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting collecting the device identifiers.

    Returns Promise<void>

  • Enable automatic collection of Apple Search Ad attribution on iOS. Disabled by default

    Returns

    The promise will be rejected if configure has not been called yet.

    Returns Promise<void>

  • Get the appUserID

    Returns

    The app user id in a promise

    Returns Promise<string>

  • Gets current customer info

    Returns

    A promise of a customer info object. Rejections return an error code, and an userInfo object with more information. The promise will be rejected if configure has not been called yet or if there's an issue getting the customer information.

    Returns Promise<CustomerInfo>

  • Fetch the product info

    Returns

    A promise containing an array of products. The promise will be rejected if the products are not properly configured in RevenueCat or if there is another error retrieving them. Rejections return an error code, and a userInfo object with more information. The promise will also be rejected if configure has not been called yet.

    Parameters

    • productIdentifiers: string[]

      Array of product identifiers

    • type: PURCHASE_TYPE | PRODUCT_CATEGORY = PRODUCT_CATEGORY.SUBSCRIPTION

      Optional type of products to fetch, can be SUBSCRIPTION or NON_SUBSCRIPTION. SUBSCRIPTION by default

    Returns Promise<PurchasesStoreProduct[]>

  • Invalidates the cache for customer information.

    Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state. Refer to https://docs.revenuecat.com/docs/customer-info#section-get-user-information for more information on using the cache properly.

    This is useful for cases where customer information might have been updated outside of the app, like if a promotional subscription is granted through the RevenueCat dashboard.

    Returns

    The promise will be rejected if configure has not been called yet or there's an error invalidating the customer info cache.

    Returns Promise<void>

  • Returns

    If the appUserID has been generated by RevenueCat or not.

    Returns

    The promise will be rejected if configure has not been called yet.

    Returns Promise<boolean>

  • Check if configure has finished and Purchases has been configured.

    Returns

    promise with boolean response

    Returns Promise<boolean>

  • This function will logIn the current user with an appUserID. Typically this would be used after a log in to identify a user without calling configure.

    Returns

    A promise of an object that contains the customerInfo after logging in, as well as a boolean indicating whether the user has just been created for the first time in the RevenueCat backend. The promise will be rejected if configure has not been called yet or if there's an issue logging in.

    Parameters

    • appUserID: string

      The appUserID that should be linked to the currently user

    Returns Promise<LogInResult>

  • Logs out the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.

    Returns

    A promise of a customer info object. Rejections return an error code, and a userInfo object with more information. The promise will be rejected if configure has not been called yet or if there's an issue logging out.

    Returns Promise<CustomerInfo>

  • iOS only. Presents a code redemption sheet, useful for redeeming offer codes Refer to https://docs.revenuecat.com/docs/ios-subscription-offers#offer-codes for more information on how to configure and use offer codes

    Returns

    The promise will be rejected if configure has not been called yet or there's an error presenting the code redemption sheet.

    Returns Promise<void>

  • iOS only. Purchase a package applying a given discount.

    Returns

    A promise of an object containing a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure has not been called yet.

    Parameters

    • aPackage: PurchasesPackage

      The Package you wish to purchase. You can get the Packages by calling getOfferings

    • discount: PurchasesPromotionalOffer

      Discount to apply to this package. Retrieve this discount using getPromotionalOffer.

    Returns Promise<MakePurchaseResult>

  • Make a purchase

    Returns

    A promise of an object containing a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure has not been called yet.

    Parameters

    • aPackage: PurchasesPackage

      The Package you wish to purchase. You can get the Packages by calling getOfferings

    • Optional upgradeInfo: null | UpgradeInfo

      DEPRECATED. Use googleProductChangeInfo.

    • Optional googleProductChangeInfo: null | GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

    • Optional googleIsPersonalizedPrice: null | boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

    Returns Promise<MakePurchaseResult>

  • Make a purchase

    Parameters

    • productIdentifier: string

      The product identifier of the product you want to purchase

    • Optional upgradeInfo: null | UpgradeInfo

      Android only. Optional UpgradeInfo you wish to upgrade from containing the oldSKU and the optional prorationMode.

    • type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS

      Optional type of product, can be inapp or subs. Subs by default @deprecated, use purchaseStoreProduct instead

    Returns Promise<MakePurchaseResult>

  • Make a purchase

    Returns

    A promise of an object containing a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will also be rejected if configure has not been called yet.

    Parameters

    • product: PurchasesStoreProduct

      The product you want to purchase

    • Optional googleProductChangeInfo: null | GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

    • Optional googleIsPersonalizedPrice: null | boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

    Returns Promise<MakePurchaseResult>

  • Google only. Make a purchase of a subscriptionOption

    Returns

    A promise of an object containing a customer info object and a product identifier. Rejections return an error code, a boolean indicating if the user cancelled the purchase, and an object with more information. The promise will be also be rejected if configure has not been called yet.

    Parameters

    • subscriptionOption: SubscriptionOption

      The SubscriptionOption you wish to purchase. You can get the SubscriptionOption from StoreProducts by calling getOfferings

    • Optional googleProductChangeInfo: GoogleProductChangeInfo

      Android only. Optional GoogleProductChangeInfo you wish to upgrade from containing the oldProductIdentifier and the optional prorationMode.

    • Optional googleIsPersonalizedPrice: boolean

      Android and Google only. Optional boolean indicates personalized pricing on products available for purchase in the EU. For compliance with EU regulations. User will see "This price has been customize for you" in the purchase dialog when true. See https://developer.android.com/google/play/billing/integrate#personalized-price for more info.

    Returns Promise<MakePurchaseResult>

  • Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.

    Returns

    A promise of a customer info object. Rejections return an error code, and an userInfo object with more information. The promise will be also be rejected if configure has not been called yet.

    Returns Promise<CustomerInfo>

  • Subscriber attribute associated with the install ad for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the ad subscriber attribute.

    Parameters

    • ad: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the install ad group for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting ad group.

    Parameters

    • adGroup: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the Adjust Id for the user Required for the RevenueCat Adjust integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting Adjust ID.

    Parameters

    • adjustID: null | string

      Adjust ID to use in Adjust integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the Airship Channel Id for the user Required for the RevenueCat Airship integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Airship Channel ID.

    Parameters

    • airshipChannelID: null | string

      Airship Channel ID to use in Airship integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • @deprecated, configure behavior through the RevenueCat dashboard instead. If an user tries to purchase a product that is active on the current app store account, we will treat it as a restore and alias the new ID with the previous id.

    Returns

    The promise will be rejected if configure has not been called yet.

    Parameters

    • allowSharing: boolean

      Set this to true if you are passing in an appUserID but it is anonymous, this is true by default if you didn't pass an appUserID

    Returns Promise<void>

  • Subscriber attribute associated with the AppsFlyer Id for the user Required for the RevenueCat AppsFlyer integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Appsflyer ID.

    Parameters

    • appsflyerID: null | string

      Appsflyer ID to use in Appsflyer integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attributes are useful for storing additional, structured information on a user. Since attributes are writable using a public key they should not be used for managing secure or sensitive information such as subscription status, coins, etc.

    Key names starting with "$" are reserved names used by RevenueCat. For a full list of key restrictions refer to our guide: https://docs.revenuecat.com/docs/subscriber-attributes

    Returns

    The promise will be rejected if configure has not been called yet or there's an error setting the subscriber attributes.

    Parameters

    • attributes: {
          [key: string]: string | null;
      }

      Map of attributes by key. Set the value as an empty string to delete an attribute.

      • [key: string]: string | null

    Returns Promise<void>

  • @deprecated, use enableAdServicesAttributionTokenCollection instead. Enable automatic collection of Apple Search Ad attribution. Disabled by default

    Returns

    The promise will be rejected if configure has not been called yet.

    Parameters

    • enabled: boolean

      Enable or not automatic apple search ads attribution collection

    Returns Promise<void>

  • Subscriber attribute associated with the install campaign for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the campaign.

    Parameters

    • campaign: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the CleverTap Id for the user Required for the RevenueCat CleverTap integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the CleverTap ID.

    Parameters

    • cleverTapID: null | string

      CleverTap user ID to use in CleverTap integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the install ad creative for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the creative subscriber attribute.

    Parameters

    • creative: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Enables/Disables debugs logs

    Parameters

    • enabled: boolean

      Enable or not debug logs @deprecated, use setLogLevel instead

    Returns Promise<void>

  • Subscriber attribute associated with the display name for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the display name.

    Parameters

    • displayName: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the email address for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the email.

    Parameters

    • email: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the Facebook SDK Anonymous Id for the user Recommended for the RevenueCat Facebook integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Facebook Anonymous ID.

    Parameters

    • fbAnonymousID: null | string

      Facebook Anonymous ID to use in Mparticle integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Returns

    The promise will be rejected if configure has not been called yet.

    Parameters

    • finishTransactions: boolean

      Set finishTransactions to false if you aren't using Purchases SDK to make the purchase

    Returns Promise<void>

  • Subscriber attribute associated with the Firebase App Instance ID for the user Required for the RevenueCat Firebase integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Firebase App Instance ID.

    Parameters

    • firebaseAppInstanceID: null | string

      Firebase App Instance ID to use in Firebase integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the install keyword for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the keyword.

    Parameters

    • keyword: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Set a custom log handler for redirecting logs to your own logging system. By default, this sends info, warning, and error messages. If you wish to receive Debug level messages, see [setLogLevel].

    Parameters

    • logHandler: LogHandler

      It will get called for each log event. Use this function to redirect the log to your own logging system

    Returns void

  • Used to set the log level. Useful for debugging issues with the lovely team @RevenueCat. The default is {LOG_LEVEL.INFO} in release builds and {LOG_LEVEL.DEBUG} in debug builds.

    Parameters

    Returns Promise<void>

  • Subscriber attribute associated with the install media source for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the media source.

    Parameters

    • mediaSource: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the Mixpanel Distinct Id for the user Required for the RevenueCat Mixpanel integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Mixpanel Distinct ID.

    Parameters

    • mixpanelDistinctID: null | string

      Mixpanel Distinct ID to use in Mixpanel integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the mParticle Id for the user Recommended for the RevenueCat mParticle integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the Mparticle ID.

    Parameters

    • mparticleID: null | string

      Mparticle ID to use in Mparticle integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the OneSignal Player Id for the user Required for the RevenueCat OneSignal integration

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the OneSignal ID.

    Parameters

    • onesignalID: null | string

      OneSignal Player ID to use in OneSignal integration. Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Subscriber attribute associated with the phone number for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the phone number.

    Parameters

    • phoneNumber: null | string

      Empty String or null will delete the subscriber attribute.

    Returns Promise<void>

  • Set this property to your proxy URL before configuring Purchases only if you've received a proxy key value from your RevenueCat contact.

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the proxy url.

    Parameters

    • url: string

    Returns Promise<void>

  • Subscriber attribute associated with the push token for the user

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error setting the push token.

    Parameters

    • pushToken: null | string

      null will delete the subscriber attribute.

    Returns Promise<void>

  • iOS only.

    Returns

    The promise will be rejected if configure has not been called yet.

    Parameters

    • simulatesAskToBuyInSandbox: boolean

      Set this property to true only when testing the ask-to-buy / SCA purchases flow. More information: http://errors.rev.cat/ask-to-buy

    Returns Promise<void>

  • Shows in-app messages available from the App Store or Google Play. You need to disable messages from showing automatically using [PurchasesConfiguration.shouldShowInAppMessagesAutomatically].

    Note: In iOS, this requires version 16+. In older versions the promise will be resolved successfully immediately.

    Returns

    The promise will be rejected if configure has not been called yet.

    Parameters

    • Optional messageTypes: IN_APP_MESSAGE_TYPE[]

      An array of message types that the stores can display inside your app. Must be one of [IN_APP_MESSAGE_TYPE]. By default, is undefined and all message types will be shown.

    Returns Promise<void>

  • This method will send a purchase to the RevenueCat backend. This function should only be called if you are in Amazon observer mode or performing a client side migration of your current users to RevenueCat.

    The receipt IDs are cached if successfully posted so they are not posted more than once.

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error syncing purchases.

    Parameters

    • productID: string

      Product ID associated to the purchase.

    • receiptID: string

      ReceiptId that represents the Amazon purchase.

    • amazonUserID: string

      Amazon's userID. This parameter will be ignored when syncing a Google purchase.

    • Optional isoCurrencyCode: null | string

      Product's currency code in ISO 4217 format.

    • Optional price: null | number

      Product's price.

    Returns Promise<void>

  • This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation for subscriptions anytime a sync is needed, like after a successful purchase.

    Warning

    This function should only be called if you're not calling purchaseProduct/purchaseStoreProduct/purchasePackage/purchaseSubscriptionOption.

    Returns

    The promise will be rejected if configure has not been called yet or if there's an error syncing purchases.

    Returns Promise<void>

Generated using TypeDoc